FileLocations

From Mupen64Plus Wiki
Jump to: navigation, search

Where the heck are the files?

Due to the flexibility of Mupen64Plus and its cross-platform design, they could be just about anywhere! The quick-reference tables below gives the most likely locations for some common files. The remainder this wiki page gives the full details of where they could be.

OSX/MacOS (Mupen64Plus 2.5.1 and earlier)

Linux

File Type Path
Config file ~/.config/mupen64plus/
Screenshots ~/.local/share/mupen64plus/screenshot/
Save states ~/.local/share/mupen64plus/save/

OSX/MacOS (Mupen64Plus 2.6 and later)

File Type Path
Config file ~/Library/Application Support/Mupen64plus/
Screenshots ~/Library/Application Support/Mupen64plus/screenshot/
Save states ~/Library/Application Support/Mupen64plus/save/

Windows XP and Earlier

File Type Path
Config file C:\Documents and Settings\your_user_name\Application Data\Mupen64Plus\
Screenshots C:\Documents and Settings\your_user_name\Application Data\Mupen64Plus\screenshot\
Save states C:\Documents and Settings\your_user_name\Application Data\Mupen64Plus\save\

Windows Vista and Newer

File Type Path
Config file C:\Users\your_user_name\AppData\Roaming\Mupen64Plus\
Screenshots C:\Users\your_user_name\AppData\Roaming\Mupen64Plus\screenshot\
Save states C:\Users\your_user_name\AppData\Roaming\Mupen64Plus\save\

Front-End Specific Files

The front-end User Interface is responsible for finding the core libraries and plugins for startup. Each front-end may have its own method for finding these libraries. The Mupen64Plus-UI-Console front-end looks for these libraries in the following places, in order:

Core Library

  1. Path given by --corelib option
  2. Path given at compile time with COREDIR macro
  3. (MacOS-only, Mupen64Plus 2.6 and newer) Frameworks path within the app bundle
  4. No path at all (allows the Operating System to search for the shared library)
  5. Current directory

Plugin Libraries

The Mupen64Plus-UI-Console front-end looks through several directories in search of valid Mupen64Plus plugins. When it finds a directory containing plugins, it populates a list with all of the plugins found. Then, when loading plugins it only uses plugins from this list (found in one directory), unless the user specifies full plugin paths on the command line with the --gfx, --audio, --rsp, or --input options. The order in which directories are searched is:

  1. Path given by --plugindir option
  2. Path given by PluginDir parameter in Mupen64Plus config file
  3. (MacOS-only, Mupen64Plus 2.6 and newer) Frameworks folder within the app bundle
  4. (Unix-only) Path given at compile-time with PLUGINDIR macro
  5. (Unix-only) /usr/local/lib/mupen64plus
  6. (Unix-only) /usr/lib/mupen64plus
  7. Current Directory

Core-specific Files

These are files which are read and written by the core emulator.

Screenshots

  1. Path given by --sshotdir option (if using Mupen64Plus-UI-Console)
  2. Path given by ScreenshotPath parameter in Mupen64Plus config file
  3. User_Data/screenshot/ (see OS-specific sections below)

Save states

  1. User_Data/save/ (see OS-specific sections below)

Unix-specific Search Paths

The Shared_Data search paths work in the following way: each time a shared data file needs is requested (such as an .ini file, or font file), the emulator core looks through all of the Shared_Data paths in order to find the file.

Shared_Data:

  1. Path given by --datadir option (if using Mupen64Plus-UI-Console)
  2. Path given by SharedDataPath parameter in Mupen64Plus config file
  3. (MacOS-only, Mupen64Plus 2.6 and newer) Resources folder within the app bundle
  4. Path given at compile-time with SHAREDIR macro
  5. (Linux-only) /usr/local/share/mupen64plus
  6. (Linux-only) /usr/share/mupen64plus
  7. ./

On MacOS (with Mupen64Plus 2.6 and newer), the User Data and User Config directories are set to ~/Library/Application Support/Mupen64Plus/.

Under Linux, the User_Data and User_Config search paths work in the following way: at startup time, the emulator core looks through the list of directories to find one that exists. The first one found is used to read/write all User_Data or User_Config files, or if none exists, then the last one in the list is created.

User_Data:

  1. $XDG_DATA_HOME/mupen64plus/
  2. $HOME/.local/share/mupen64plus/

User_Config:

  1. Path given by --configdir option (if using Mupen64Plus-UI-Console)
  2. $XDG_CONFIG_HOME/mupen64plus/
  3. $HOME/.config/mupen64plus/

Windows-specific Search Paths

The Shared_Data search paths work in the following way: each time a shared data file needs is requested (such as an .ini file, or font file), the emulator core looks through all of the Shared_Data paths in order to find the file.

On Windows versions prior to Vista, the $CSIDL_APPDATA path is usually: C:\Documents and Settings\your_user_name\Application Data. On later versions of Windows, this path is usually: C:\Users\your_user_name\AppData\Roaming.

Shared_Data:

  1. Path given by --datadir option (if using Mupen64Plus-UI-Console)
  2. Path given by SharedDataPath parameter in Mupen64Plus config file
  3. $CSIDL_APPDATA\Mupen64Plus\

On Windows, the User_Data and User_Config directories are the same. These search paths work in the following way: at startup time, the emulator core looks through the list of directories to find one that exists. The first one found is used to read/write all User_Data or User_Config files, or if none exists, then the last one in the list is created.

User_Data:
User_Config:

  1. Path given by --configdir option (if using Mupen64Plus-UI-Console)
  2. $CSIDL_APPDATA\Mupen64Plus\