libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.41k stars 1.84k forks source link

Execute Commandline Argument from Local File. #4092

Open jedinjapan opened 8 years ago

jedinjapan commented 8 years ago

It would be useful to have Retroarch to check at startup briefly for stored commandline arguments in a file in the working directory (startup.cfg), and accept command line arguments stored there. If detected, the command would be wiped from the file (so the command is not repeated) and then executed.

This would help sidestep an issue on systems with file system and application access, but cannot give command line arguments. Systems such as the Vita, PS3, and WiiU as well as future console or dedicated device ports may benefit from this. On systems without admin access to the OS to send commands to the executable, this would allow them to still utilize future Retroarch commands fully to launch directly into their content from other applications or interfaces, or into alternative display modes, etc.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39604264-execute-commandline-argument-from-local-file?utm_campaign=plugin&utm_content=tracker%2F296058&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F296058&utm_medium=issues&utm_source=github).
andres-asm commented 7 years ago

I think this is a won't fix... I don't see anyone interested at least. We don't really cater to third party launchers

RobLoach commented 7 years ago

You could just make a shortcut to RetroArch that has the Command Line Arguments in it. Do you have access to the home directory?

jedinjapan commented 7 years ago

This feature isn't particularly necessary on PCs or systems where you have full access. But on console systems, like the Vita for example, even with access it's not the kind of system that supports shortcut creation. So using commandline arguments via shortcuts isn't an option.

My thinking was less to make this about catering to specific launchers, which is a complete fools errand I'm aware, but instead providing a dumb general-purpose "hook" to take advantage of Retroarch's existing abilities from various systems with more limited interfaces. In theory this should be a simple feature to implement that shouldn't require any real upkeep once added. Run the commands in this .cfg, then optionally wipe it. Ignore if it doesn't exist.

For consoles this would be wonderful. And moving forward, it's possible very few consoles and other systems will have as much access as exploits in the past have. So having an alternative method for these systems to deliver their commands to Retroarch would be helpful. On the Vita and PS3 for example, passing along commands to launch .self files is not possible from their main menu, so you have to use some kind of frontend like Retroarch, and cannot go directly into a core.

Even something as simple as a startup.cfg would allow systems like a semi-compromised Nintendo Switch for example, to take much more advantage of Retroarch via web frontends or other methods perhaps.

I'm hoping someone else can see it also as a simple and beneficial idea. Certainly not high priority for the roadmap, but a simple feature to include one day. Though in my own case I would find it immediately useful for the aforementioned console scenarios.