{ // Lines starting with '//' are comments. // // About filesystem paths specified in this config: // The "gameFolder" path is resolved either relative // to the directory containing the mkxp executable // (the default behavior), or relative to the current // working directory (when compiled with // -DWORKDIR_CURRENT). All other paths are resolved // relative to gameFolder and ignoring both RTPs and // encrypted archives. // Specify the RGSS version to run under. // Possible values are 0, 1, 2, 3. If set to 0, // mkxp will try to guess the required version // based on the game files found in gameFolder. // If this fails, the version defaults to 1. // (default: 0) // // "rgssVersion": 1, // Request an OpenGL 4.1 context. This // introduces these minimum requirements // for GPUs: // // + NVIDIA 400 Series+ // + AMD Radeon HD 5000+ // + Intel HD Graphics 4000+ // // If disabled, OpenGL 3.3 is used instead. // (default: enabled) // // "openGL4": true, // Create a debug context and log // OpenGL debug information to the console // (default: disabled) // // "debugMode": false, // Continuously print average FPS to console. // This setting does not affect the window title // FPS display toggled via F2 // (default: disabled) // // "printFPS": false, // Game window is resizable // (default: enabled) // // "winResizable": true, // Start game in fullscreen (this can // always be toggled with Alt-Enter at runtime) // (default: disabled) // // "fullscreen": false, // Preserve game screen aspect ratio, // as opposed to stretch-to-fill // (default: enabled) // // "fixedAspectRatio": true, // Apply linear interpolation when game screen // is upscaled // (default: disabled) // // "smoothScaling": false, // Sync screen redraws to the monitor refresh rate // (default: disabled) // // "vsync": false, // Specify the window width on startup. If set to 0, // it will default to the default resolution width // specific to the RGSS version (640 in RGSS1, 544 // in RGSS2 or higher). // (default: 0) // // "defScreenW": 640, // Specify the window height on startup. If set to 0, // it will default to the default resolution height // specific to the RGSS version (480 in RGSS1, 416 // in RGSS2 or higher). // (default: 0) // // "defScreenH": 480, // Override the game window title // (default: none) // // "windowTitle": "Custom Title", // Enforce a static frame rate // This option may be force-disabled at build time. // (0 = disabled) // // "fixedFramerate": 0, // Skip (don't draw) frames when behind // (default: disabled) // // "frameSkip": false, // Use a fixed framerate that is approx. equal to the // native screen refresh rate. This is different from // "fixedFramerate" because the actual frame rate is // reported back to the game, ensuring correct timers. // If the screen refresh rate cannot be determined, // this option is force-disabled. // This option may be force-disabled at build time. // (default: disabled) // // "syncToRefreshrate": false, // Don't use alpha blending when rendering text // (default: disabled) // // "solidFonts": false, // Work around buggy graphics drivers which don't // properly synchronize texture access, most // apparent when text doesn't show up or the map // tileset doesn't render at all // (default: disabled) // // "subImageFix": false, // Enable framebuffer blitting if the driver is // capable of it. Some drivers carry buggy // implementations of this functionality, so // disabling it can be used as a workaround // (default: enabled) // // "enableBlitting": true, // Limit the maximum size (width, height) of // most textures mkxp will create (exceptions are // rendering backbuffers and similar). // If set to 0, the hardware maximum is used. // This is useful for recording traces that can // be played back on machines with lower specs. // (default: 0) // // "maxTextureSize": 0, // Set the base path of the game to '/path/to/game' // (default: executable directory) // // "gameFolder": "/path/to/game", // Use either right or left Alt + Enter to toggle // fullscreen // (default: disabled) // // "anyAltToggleFS": false, // Enable F12 game reset // (default: enabled) // // "enableReset": true, // Allow symlinks for game assets to be followed // (default: disabled) // // "allowSymlinks": false, // Organisation / company and application / game // name to build the directory path where mkxp // will store game specific data (eg. key bindings). // If not specified, mkxp will save to a common // directory shared by all games. Note that these // are TWO individual config entries, and both need // to be defined for this to take effect. // (default: none) // // "dataPathOrg": "mycompany", // "dataPathApp": "mygame", // Set the game window icon to 'path/to/icon.png' // (default: none) // // "iconPath": "/path/to/icon.png", // Instead of playing an RPG Maker game, // execute a single plain text script instead // (default: none) // // "customScript": "/path/to/script.rb", // Define raw scripts to be executed before the // actual Scripts.rxdata execution starts // This option may be force-disabled at build time. // (default: none) // // "preloadScript": ["my_win32_wrapper.rb", // "ruby18_fixes.rb"], // Index all accesible assets via their lower case path // (emulates windows case insensitivity) // (default: enabled) // // "pathCache": true, // In some versions of Essentials, overworld code // requests the player's sprite texture from disk // at least once every frame. The damage this // causes is less perceptible in RPG Maker XP, // but MKXP's RGSSAD code is much slower and will // cause games to lag. Hard. // // I have no interest in fixing it, because: // // (A) I don't see any point in such frail encryption, and // (B) One can easily replicate load_data entirely in Ruby // (https://gist.github.com/inori-z/0800dbdc213b9936e0e81f64c9a98c4c) // // If you insist on using archives, you can use a // version of Essentials that isn't broken, // otherwise come up with your own solution // (there are many), or leave your Graphics files // loose and disable this option. // (default: false) // // "compressedGraphics": false, // Add 'rtp1', 'rtp2.zip' and 'game.rgssad' to the // asset search path (multiple allowed) // (default: none) // // "RTP": ["/path/to/rtp1", // "/path/to/rtp2.zip", // "/path/to/game.rgssad"], // Use the script's name as filename in warnings and error messages // (default: enabled) // // "useScriptNames": true, // Font substitutions allow drop-in replacements of fonts // to be used without changing the RGSS scripts, // eg. providing 'Open Sans' when the game thinkgs it's // using 'Arial'. Font family to be substituted and // replacement family are separated by one sole '>'. // Be careful not to include any spaces. // This is not connected to the built-in font, which is // always used when a non-existing font family is // requested by RGSS. // (default: none) // // "fontSub": ["Arial>Open Sans", // "Times New Roman>Liberation Serif"] // Because mkxp is usually distributed as a stand alone // build, no predefined load paths are initialized // ($:, $LOAD_PATH) in the MRI backend. With this option, // they can be specified manually (eg. when using a system // libruby.so). It is however recommended to statically // link all required gems into libruby.so. // (default: none) // // "rubyLoadpath": ["/usr/lib64/ruby/", // "/usr/local/share/ruby/site_ruby"], // SoundFont to use for midi playback (via fluidsynth) // (default: none) // // "midiSoundFont": "Audio/BGM/GMGSx.sf2", // Activate "chorus" effect for midi playback // // "midiChorus": false, // Activate "reverb" effect for midi playback // // "midiReverb": false, // Number of OpenAL sources to allocate for SE playback. // If there are a lot of sounds playing at the same time // and audibly cutting each other off, try increasing // this number. Maximum: 64. // // "SESourceCount": 6 // The Windows game executable name minus ".exe". By default // this is "Game", but some developers manually rename it. // mkxp needs this name because both the .ini (game // configuration) and .rgssad (encrypted data archive) must // carry the same name minus their extension, and we cannot // guess the executable's name. // You could just as well rename them both to "Game.ini" and // "Game.rgssad", but specifying the executable name here // is a tiny bit less intrusive. // // "execName": "Game", // The Discord Client ID for your application. If left undefined, // mkxp-z's Client ID is used by default. // Only has an effect if mkxp-z is built with Discord support. // // "discordClientId": 1234567890 }