Merge pull request #166 from netux79/master
[pcsx_rearmed.git] / frontend / libretro.c
index 4527f86..70dc171 100644 (file)
@@ -54,6 +54,8 @@ static retro_input_state_t input_state_cb;
 static retro_environment_t environ_cb;
 static retro_audio_sample_batch_t audio_batch_cb;
 static struct retro_rumble_interface rumble;
+static struct retro_log_callback logging;
+static retro_log_printf_t log_cb;
 
 static void *vout_buf;
 static void * vout_buf_ptr;
@@ -435,7 +437,7 @@ void retro_set_environment(retro_environment_t cb)
 {
    static const struct retro_variable vars[] = {
       { "pcsx_rearmed_frameskip", "Frameskip; 0|1|2|3" },
-      { "pcsx_rearmed_region", "Region; Auto|NTSC|PAL" },
+      { "pcsx_rearmed_region", "Region; auto|NTSC|PAL" },
       { "pcsx_rearmed_pad1type", "Pad 1 Type; default|none|standard|analog|negcon" },
       { "pcsx_rearmed_pad2type", "Pad 2 Type; default|none|standard|analog|negcon" },
       { "pcsx_rearmed_pad3type", "Pad 3 Type; default|none|standard|analog|negcon" },
@@ -465,6 +467,9 @@ void retro_set_environment(retro_environment_t cb)
       { NULL, NULL },
    };
 
+    if (cb(RETRO_ENVIRONMENT_GET_LOG_INTERFACE, &logging))
+        log_cb = logging.log;
+
    environ_cb = cb;
 
    cb(RETRO_ENVIRONMENT_SET_VARIABLES, (void*)vars);
@@ -1219,7 +1224,7 @@ bool retro_load_game(const struct retro_game_info *info)
 
        if (is_m3u) {
                if (!read_m3u(info->path)) {
-                       SysPrintf("failed to read m3u file\n");
+                       log_cb(RETRO_LOG_INFO, "failed to read m3u file\n");
                        return false;
                }
        } else {
@@ -1231,7 +1236,7 @@ bool retro_load_game(const struct retro_game_info *info)
 
        /* have to reload after set_cd_image for correct cdr plugin */
        if (LoadPlugins() == -1) {
-               SysPrintf("failed to load plugins\n");
+               log_cb(RETRO_LOG_INFO, "failed to load plugins\n");
                return false;
        }
 
@@ -1239,23 +1244,22 @@ bool retro_load_game(const struct retro_game_info *info)
        NetOpened = 0;
 
        if (OpenPlugins() == -1) {
-               SysPrintf("failed to open plugins\n");
+               log_cb(RETRO_LOG_INFO, "failed to open plugins\n");
                return false;
        }
 
        plugin_call_rearmed_cbs();
        dfinput_activate();
 
-       Config.PsxAuto = 1;
        if (CheckCdrom() == -1) {
-               SysPrintf("unsupported/invalid CD image: %s\n", info->path);
+        log_cb(RETRO_LOG_INFO, "unsupported/invalid CD image: %s\n", info->path);
                return false;
        }
 
        SysReset();
 
        if (LoadCdrom() == -1) {
-               SysPrintf("could not load CD-ROM!\n");
+               log_cb(RETRO_LOG_INFO, "could not load CD\n");
                return false;
        }
        emu_on_new_cd(0);
@@ -1335,7 +1339,7 @@ static void update_variables(bool in_flight)
    if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value)
    {
       Config.PsxAuto = 0;
-      if (strcmp(var.value, "Automatic") == 0)
+      if (strcmp(var.value, "auto") == 0)
          Config.PsxAuto = 1;
       else if (strcmp(var.value, "NTSC") == 0)
          Config.PsxType = 0;