void osd_init(running_machine *machine) { //add_exit_callback(machine, osd_exit); machine->add_notifier(MACHINE_NOTIFY_EXIT, osd_exit); our_target = render_target_alloc(machine, NULL, 0); if (our_target == NULL) fatalerror("Error creating render target"); myosd_inGame = !(machine->gamedrv == &GAME_NAME(empty)); options_set_bool(mame_options(), OPTION_CHEAT,myosd_cheat,OPTION_PRIORITY_CMDLINE); options_set_bool(mame_options(), OPTION_AUTOSAVE,myosd_autosave,OPTION_PRIORITY_CMDLINE); options_set_bool(mame_options(), OPTION_SOUND,myosd_sound_value != -1,OPTION_PRIORITY_CMDLINE); if(myosd_sound_value!=-1) options_set_int(mame_options(), OPTION_SAMPLERATE,myosd_sound_value,OPTION_PRIORITY_CMDLINE); options_set_float(mame_options(), OPTION_BEAM,myosd_vector_bean2x ? 2.5 : 1.0, OPTION_PRIORITY_CMDLINE); options_set_float(mame_options(), OPTION_FLICKER,myosd_vector_flicker ? 0.4 : 0.0, OPTION_PRIORITY_CMDLINE); options_set_bool(mame_options(), OPTION_ANTIALIAS,myosd_vector_antialias,OPTION_PRIORITY_CMDLINE); droid_ios_init_input(machine); droid_ios_init_sound(machine); droid_ios_init_video(machine); netplay_t *handle = netplay_get_handle(); if(handle->has_connection) { handle->has_begun_game = 1; } }
void osd_init(running_machine *machine) { //add_exit_callback(machine, osd_exit); machine->add_notifier(MACHINE_NOTIFY_EXIT, osd_exit); our_target = render_target_alloc(machine, NULL, 0); if (our_target == NULL) fatalerror("Error creating render target"); myosd_inGame = !(machine->gamedrv == &GAME_NAME(empty)); options_set_bool(mame_options(), OPTION_CHEAT,myosd_cheat,OPTION_PRIORITY_CMDLINE); options_set_bool(mame_options(), OPTION_AUTOSAVE,myosd_autosave,OPTION_PRIORITY_CMDLINE); options_set_bool(mame_options(), OPTION_SOUND,myosd_sound_value != -1,OPTION_PRIORITY_CMDLINE); if(myosd_sound_value!=-1) options_set_int(mame_options(), OPTION_SAMPLERATE,myosd_sound_value,OPTION_PRIORITY_CMDLINE); droid_ios_init_input(machine); droid_ios_init_sound(machine); droid_ios_init_video(machine); }
/* Get and set an option from the client. Return 1 on error. */ static int get_set_option (struct client *cli) { char *name; int val; if (!(name = get_str (cli->socket))) return 0; if (!valid_sync_option (name)) { logit ("Client requested setting invalid option '%s'", name); return 0; } if (!get_int (cli->socket, &val)) { free (name); return 0; } options_set_int (name, val); free (name); add_event_all (EV_OPTIONS, NULL); return 1; }
void capplet_set_int(Options * options, const char *name, int value) { options_set_int(options, name, value); capplet_save_file(options); optsdbus_send_int_opt_signal(options->name, name, value); }
static messtest_result_t run_test(int flags, messtest_results *results) { const game_driver *driver; messtest_result_t rc; clock_t begin_time; double real_run_time; astring *fullpath = NULL; const char *device_opt; const char *fake_argv[2]; core_options *opts; /* lookup driver */ driver = driver_get_name(current_testcase.driver); /* cannot find driver? */ if (driver == NULL) { report_message(MSG_FAILURE, "Cannot find driver '%s'", current_testcase.driver); return MESSTEST_RESULT_STARTFAILURE; } /* prepare testing state */ current_command = current_testcase.commands; state = STATE_READY; test_flags = flags; screenshot_num = 0; runtime_hash = 0; had_failure = FALSE; //videoram = NULL; //videoram_size = 0; /* set up options */ opts = mame_options_init(win_mess_opts); options_set_string(opts, OPTION_GAMENAME, driver->name, OPTION_PRIORITY_CMDLINE); if( current_testcase.bios ) options_set_string(opts, OPTION_BIOS, current_testcase.bios, OPTION_PRIORITY_CMDLINE); options_set_bool(opts, OPTION_SKIP_GAMEINFO, TRUE, OPTION_PRIORITY_CMDLINE); options_set_bool(opts, OPTION_THROTTLE, FALSE, OPTION_PRIORITY_CMDLINE); options_set_bool(opts, OPTION_DEBUG, FALSE, OPTION_PRIORITY_CMDLINE); options_set_bool(opts, OPTION_DEBUG_INTERNAL, FALSE, OPTION_PRIORITY_CMDLINE); options_set_bool(opts, OPTION_WRITECONFIG, FALSE, OPTION_PRIORITY_CMDLINE); if (current_testcase.ram != 0) { options_set_int(opts, OPTION_RAMSIZE, current_testcase.ram, OPTION_PRIORITY_CMDLINE); } /* ugh... hideous ugly fake arguments */ fake_argv[0] = "MESSTEST"; fake_argv[1] = driver->name; options_parse_command_line(opts, ARRAY_LENGTH(fake_argv), (char **) fake_argv, OPTION_PRIORITY_CMDLINE,TRUE); /* preload any needed images */ while(current_command->command_type == MESSTEST_COMMAND_IMAGE_PRELOAD) { /* get the path */ fullpath = assemble_software_path(astring_alloc(), driver, current_command->u.image_args.filename); /* get the option name */ device_opt = device_config_image_interface::device_typename(current_command->u.image_args.device_ident.type); /* set the option */ options_set_string(opts, device_opt, astring_c(fullpath), OPTION_PRIORITY_CMDLINE); /* cleanup */ astring_free(fullpath); fullpath = NULL; /* next command */ current_command++; } /* perform the test */ report_message(MSG_INFO, "Beginning test (driver '%s')", current_testcase.driver); begin_time = clock(); mame_set_output_channel(OUTPUT_CHANNEL_ERROR, messtest_output_error, NULL, NULL, NULL); mame_set_output_channel(OUTPUT_CHANNEL_WARNING, mame_null_output_callback, NULL, NULL, NULL); mame_set_output_channel(OUTPUT_CHANNEL_INFO, mame_null_output_callback, NULL, NULL, NULL); mame_set_output_channel(OUTPUT_CHANNEL_DEBUG, mame_null_output_callback, NULL, NULL, NULL); mame_set_output_channel(OUTPUT_CHANNEL_LOG, mame_null_output_callback, NULL, NULL, NULL); test_osd_interface osd; mame_execute(osd, opts); real_run_time = ((double) (clock() - begin_time)) / CLOCKS_PER_SEC; /* what happened? */ switch(state) { case STATE_ABORTED: report_message(MSG_FAILURE, "Test aborted"); rc = MESSTEST_RESULT_RUNTIMEFAILURE; break; case STATE_DONE: if (had_failure) { report_message(MSG_FAILURE, "Test failed (real time %.2f; emu time %.2f [%i%%])", real_run_time, final_time.as_double(), (int) ((final_time.as_double() / real_run_time) * 100)); rc = MESSTEST_RESULT_RUNTIMEFAILURE; } else { report_message(MSG_INFO, "Test succeeded (real time %.2f; emu time %.2f [%i%%])", real_run_time, final_time.as_double(), (int) ((final_time.as_double() / real_run_time) * 100)); rc = MESSTEST_RESULT_SUCCESS; } break; default: state = STATE_ABORTED; report_message(MSG_FAILURE, "Abnormal termination"); rc = MESSTEST_RESULT_STARTFAILURE; break; } if (results) { results->rc = rc; results->runtime_hash = runtime_hash; } options_free(opts); return rc; }
/* Process the command line options and arguments. */ static lists_t_strs *process_command_line (int argc, char *argv[], struct parameters *params, lists_t_strs *deferred) { int ret, opt_index = 0; const char *jump_type; lists_t_strs *result; struct option long_options[] = { { "version", 0, NULL, 'V' }, { "help", 0, NULL, 'h' }, #ifndef NDEBUG { "debug", 0, NULL, 'D' }, #endif { "server", 0, NULL, 'S' }, { "foreground", 0, NULL, 'F' }, { "sound-driver", 1, NULL, 'R' }, { "music-dir", 0, NULL, 'm' }, { "append", 0, NULL, 'a' }, { "enqueue", 0, NULL, 'q' }, { "clear", 0, NULL, 'c' }, { "play", 0, NULL, 'p' }, { "playit", 0, NULL, 'l' }, { "stop", 0, NULL, 's' }, { "next", 0, NULL, 'f' }, { "previous", 0, NULL, 'r' }, { "exit", 0, NULL, 'x' }, { "theme", 1, NULL, 'T' }, { "config", 1, NULL, 'C' }, { "set-option", 1, NULL, 'O' }, { "moc-dir", 1, NULL, 'M' }, { "pause", 0, NULL, 'P' }, { "unpause", 0, NULL, 'U' }, { "toggle-pause", 0, NULL, 'G' }, { "sync", 0, NULL, 'y' }, { "nosync", 0, NULL, 'n' }, { "ascii", 0, NULL, 'A' }, { "info", 0, NULL, 'i' }, { "recursively", 0, NULL, 'e' }, { "seek", 1, NULL, 'k' }, { "jump", 1, NULL, 'j' }, { "format", 1, NULL, 'Q' }, { "volume", 1, NULL, 'v' }, { "toggle", 1, NULL, 't' }, { "on", 1, NULL, 'o' }, { "off", 1, NULL, 'u' }, { "playnum", 1, NULL, 'N' }, { 0, 0, 0, 0 } }; assert (argc >= 0); assert (argv != NULL); assert (argv[argc] == NULL); assert (params != NULL); assert (deferred != NULL); while ((ret = getopt_long(argc, argv, "VhDSFR:macpsxT:C:O:M:PUynArfiGelk:j:v:t:o:u:Q:qN:", long_options, &opt_index)) != -1) { switch (ret) { case 'V': show_version (); exit (EXIT_SUCCESS); case 'h': show_usage (argv[0]); exit (EXIT_SUCCESS); #ifndef NDEBUG case 'D': params->debug = 1; break; #endif case 'S': params->only_server = 1; break; case 'F': params->foreground = 1; params->only_server = 1; break; case 'R': if (!options_check_list ("SoundDriver", optarg)) fatal ("No such sound driver: %s", optarg); options_set_list ("SoundDriver", optarg, false); options_ignore_config ("SoundDriver"); break; case 'm': options_set_int ("StartInMusicDir", 1); options_ignore_config ("StartInMusicDir"); break; case 'a': case 'e': params->append = 1; params->dont_run_iface = 1; break; case 'q': params->enqueue = 1; params->dont_run_iface = 1; break; case 'c': params->clear = 1; params->dont_run_iface = 1; break; case 'i': params->get_file_info = 1; params->dont_run_iface = 1; break; case 'p': params->play = 1; params->dont_run_iface = 1; break; case 'l': params->playit = 1; params->dont_run_iface = 1; break; case 's': params->stop = 1; params->dont_run_iface = 1; break; case 'f': params->next = 1; params->dont_run_iface = 1; break; case 'r': params->previous = 1; params->dont_run_iface = 1; break; case 'x': params->exit = 1; params->dont_run_iface = 1; break; case 'P': params->pause = 1; params->dont_run_iface = 1; break; case 'U': params->unpause = 1; params->dont_run_iface = 1; break; case 'T': options_set_str ("ForceTheme", optarg); break; case 'C': params->config_file = xstrdup (optarg); break; case 'O': override_config_option (optarg, deferred); break; case 'M': options_set_str ("MOCDir", optarg); options_ignore_config ("MOCDir"); break; case 'y': options_set_int ("SyncPlaylist", 1); options_ignore_config ("SyncPlaylist"); break; case 'n': options_set_int ("SyncPlaylist", 0); options_ignore_config ("SyncPlaylist"); break; case 'A': options_set_int ("ASCIILines", 1); options_ignore_config ("ASCIILines"); break; case 'G': params->toggle_pause = 1; params->dont_run_iface = 1; break; case 'k': params->seek_by = get_num_param (optarg, NULL); params->dont_run_iface = 1; break; case 'j': params->jump_to = get_num_param (optarg, &jump_type); if (*jump_type) if (!jump_type[1]) if (*jump_type == '%' || tolower (*jump_type) == 's') { params->jump_type = tolower (*jump_type); params->dont_run_iface = 1; break; } //TODO: Add message explaining the error show_usage (argv[0]); exit (EXIT_FAILURE); case 'v' : params->adj_volume = optarg; params->dont_run_iface = 1; break; case 't' : params->toggle = optarg; params->dont_run_iface = 1; break; case 'o' : params->on = optarg; params->dont_run_iface = 1; break; case 'u' : params->off = optarg; params->dont_run_iface = 1; break; case 'Q': params->formatted_into_param = optarg; params->get_formatted_info = 1; params->dont_run_iface = 1; break; case 'N' : params->play_num = optarg; params->dont_run_iface = 1; break; default: show_usage (argv[0]); exit (EXIT_FAILURE); } } result = lists_strs_new (argc - optind); lists_strs_load (result, argv + optind); return result; }