Ancurio / mkxp

Free Software implementation of the Ruby Game Scripting System (RGSS)
GNU General Public License v2.0
509 stars 128 forks source link

Search for mkxp.conf in more paths #221

Closed Slider-Whistle closed 3 years ago

Slider-Whistle commented 4 years ago

Having the config file be located in the same directory as the executable is unconventional (and it takes a few reads of the readme file to actually figure out that it does this), so unless it goes against the intended use of the program, it'd be good if it could search in /etc and the XDG config directory as well. I used the pre-built binary, so I might have missed a compile option for this.

kforney commented 4 years ago

I'm pretty sure the reason behind this design choice is that certain RPG Maker games require different individual configurations.

For instance, some games require the VX Ace RTP, while others require the XP RTP. Also, for some games, you may need to perform additional configuration, such as font substitution, adding additional scripts, or specifying a different game executable, which you wouldn't want to set globally.

Ancurio commented 4 years ago

Everything kforney said is correct; I'd like to add that a setup where mkxp is installed globally (e.g. in /usr/bin/) would be preferred in an ideal world where all RPG Maker games only use RGSS and don't rely on Windows-specific hacks (in that ideal world, mkxp would also support a separate MRI 1.8 backend for XP and hotswap it in depending on the game).

This is far from the reality, which unfortunately requires a slightly modified mkxp setup to be bundled with each game; at the same time, this is not unusual from the view point of RPG Maker itself, which bundles its own RGSS player with every created game.

Now, if you still want to manipulate where mkxp.conf is read from, one could offer a compromise where this is determined by an environment variable (I dislike hardcoding paths like /etc since they're platform dependent), but aside from beautifying your game directory structure, I don't see a point to it myself.

Ancurio commented 3 years ago

I've made a note to clarify where the mkxp.conf will currently be read from by the engine.