What's new

Different control setings for different games?

I3lade203

New member
Hi, I'm building a multi-purpose arcade box, so I'll be running multiple emulators such as Mame, Project64, ect. My dilemma is that since I'm going to have arcade joysticks and buttons, the layout is going to be configured in a way that allows it to be malleable for any game I choose to play on it. With mame this is no problem because mame has the option to set controls for specific games, but I cannot seem to figure out how to do this with project64. Is there any way to run project64 with command parameters telling it to load a specific control configuration file? If there's no way to do this at all please let me know without flaming me. Thanks in advance!

Edit: I forgot to mention, I am aware of the ability to load and save configuration files in project64, but I'm trying to find a way to do this automatically.
 
Last edited:
OP
I

I3lade203

New member
Hm, damn, thanks though. Do you know of any other n64 emulators that can have interchangeable config set ups?
 

Toasty

Sony battery
If you have lots of time on your hands and don't mind a hackish solution you could write a custom AutoIt script for each game that quickly starts PJ64, loads the proper configuration and then starts the game. (Assuming you can run any command and are not limited to invoking only PJ64.) :rolleyes:
 
Last edited:
OP
I

I3lade203

New member
If you have lots of time on your hands and don't mind a hackish solution you could write a custom AutoIt script for each game that quickly starts PJ64, loads the proper configuration and then starts the game. (Assuming you can run any command and are not limited to invoking only PJ64.) :rolleyes:

I had this idea actually, but I was hesitant to use it because I'm not sure just how i'd detect what game was loaded? I'm using a frontend for my arcade machine that'll load project64 based on a commandline telling it which rom to load, so if I can figure out a way to actually "catch" whatever rom is loaded then this is a great solution and I'd be more then happy to look into it. I HAVE in fact done macro scripting before, just not to this extent, i've done some more basic stuff -- but if you can think of any ideas for how to get the game name so I can use if statements for it to load a different configuration I'd be very grateful.

Thanks for the help so far from everyone who's responded, even a 'no' answer was helpful to me as it allowed me to not waste time trying to figure it out.
 

Toasty

Sony battery
If your front-end can run the games with any program you want, a script or simple program could be written that looks up the game passed to it and finds the proper configuration, then opens it with PJ64 and an AutoIt script that loads the configuration. For example, you have the following components:
  • Project64.exe
  • LoadConfiguration.au3
  • Config1.jsf
  • Config2.jsf
  • Config3.jsf
  • TheGrandOrchestrator.exe
  • TheGrandConfiguration.conf
And TheGrandConfiguration.conf has a list of your ROMs and which one goes with which script:
Code:
Zelda64.zip: Config1.jsf
ZeldaMM.rom: Config1.jsf
Super Mario 64.z64: Config3.jsf
Starfox 64.rom: Config2.jsf
# etc...
DEFAULT: Config1.jsf
Then TheGrandOrchestrator.exe (a simple custom-written program) could be passed a ROM, look up that ROM and find the right configuration, and then use LoadConfiguration.au3 to load that configuration into PJ64. Not exactly elegant, but it's possible and once it's all set up it would be automated. Adding new configurations/games would be relatively painless too, as long as you're comfortable editing TheGrandConfiguration.conf.

As long as your front end can run "TheGrandOrchestrator.exe RomName.rom" instead of "Project64.exe RomName.rom" it could be made to work. If your front-end can do that and you want to, I could probably help you out with writing the grand orchestrator and the AutoIt script if you don't mind waiting a couple days.
 
OP
I

I3lade203

New member
My current frontend cannot, so I'm going to search for one that will allow me to - i'll get back to you if I find one. Thanks for all the help and the offer!
 

Toasty

Sony battery
I don't suppose your current front-end would object to you replacing Project64.exe with a different file named Project64.exe?
 

Toasty

Sony battery
Nope, it wouldn't - what do you have in mind?
We can use your current front-end and just rename Project64.exe to some other name or move it to a different location and then name the grand orchestrator Project64.exe and put it in PJ64's place and your front-end will run it instead of PJ64. Then, the grand orchestrator can in turn run PJ64 from its new path.
N-Rage's input plugin (http://emutalk.net/showthread.php?t=36135) allows you to save and load controller config profiles so instead of having to manually change the button configs every time you change controllers / games, just go to the settings, load your config, and save.
Jabo's plugin can save and load profiles as well, but the problem is that he wants the configuration to automatically load without user intervention. (At least that's what I gather, since he was asking about command-line parameters.)
 
Last edited:
OP
I

I3lade203

New member
We can use your current front-end and just rename Project64.exe to some other name or move it to a different location and then name the grand orchestrator Project64.exe and put it in PJ64's place and your front-end will run it instead of PJ64. Then, the grand orchestrator can in turn run PJ64 from its new path.Jabo's plugin can save and load profiles as well, but the problem is that he wants the configuration to automatically load without user intervention. (At least that's what I gather, since he was asking about command-line parameters.)

Ah, very clever! If you're willing to help me I'd be very thankful - even though i've worked with some basic macros before actually scripting one is still a bit beyond me. Give me a PM if you're willing to peruse this further so we don't clog up the boards with personal chat.
 

Top