/* ********************************************************************* Constructor ******************************************************************** */ GameController::GameController(OSystem* _osystem): state(_osystem) { p_osystem = _osystem; p_global_event_obj = p_osystem->event(); p_console = &(p_osystem->console()); MediaSource& mediasrc = p_console->mediaSource(); p_emulator_system = &(p_console->system()); i_screen_width = mediasrc.width(); i_screen_height = mediasrc.height(); b_send_screen_matrix = true; b_send_console_ram = true; i_skip_frames_num = 0; i_skip_frames_counter = 0; e_previous_a_action = PLAYER_A_NOOP; e_previous_b_action = PLAYER_B_NOOP; // load the RL wrapper for the ROM string rom_file = p_osystem->settings().getString("rom_file"); m_rom_settings = buildRomRLWrapper(rom_file); if (m_rom_settings == NULL) { std::cerr << "Unsupported ROM file" << std::endl; exit(1); } state.setSettings(m_rom_settings); // MGB p_num_system_reset_steps = atoi(_osystem->settings().getString("system_reset_steps").c_str()); systemReset(); }
ALEController::ALEController(OSystem* osystem): m_osystem(osystem), m_settings(buildRomRLWrapper(m_osystem->settings().getString("rom_file"))), m_environment(m_osystem, m_settings.get()) { if (m_settings.get() == NULL) { ale::Logger::Warning << "Unsupported ROM file: " << std::endl; exit(1); } else { m_environment.reset(); } }