Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. My bare hosting costs are currently not met so please consider donating by either clicking this text or the Patreon link on the right.

Patreon

Recommended Posts

Posted

I was looking at setting something like this up as the N64 has some odd controls for certain games and so you probably need about 8 profiles to play all games.

I am using XBOX 360 Wireless Controllers for all games so I have a Project64 controller config files for Goldeneye and a different one for Mario Kart 64 for example.

I noticed that after you load the controller config files it writes the settings into the registry.

I created a bat file that runs before startup "Lauch Before" that loads a specific registry file for GoldenEye and it works although the syntax is probably really poor (I am not a DOS programmer).

Essentially what I do is pass the [ROMFILE] to the batch file and if the file name contains "*Goldeneye*" then I run this command to import registry settings that suit Goldeneye:

Regedit /s Goldeneye.reg

That imports the settings into the windows registry from a previously exported Reg file and the "/s" ignores warning messages.

The registry key I export to the file that contains the settings is this [HKEY_CURRENT_USER\Software\JaboSoft]

I was looking at what "wahoo" posted on this thread and would like to do something similar with a batch file:

http://www.gameex.in...ds/page__st__40

If we could specify more that one ROM path in the configuration editor for the Project64 emulator then I can just check the folder name and create a reg file for each type of game (FPS.Reg, Default.Reg, Platform.reg etc) and sort the roms into those folders.

You can specify multiple ROM folders for MAME - any reason why you can't with other emulators?

Or, anyone have any other ways of overcoming this problem?

Posted

What I have recently started doing was using Xpadder and making GameEx change the control schemes. I set up multiple emulators in the list that all direct to the same N64 emulator and each of them has a rompath that suts the control scheme of the games I have in those directories. So in the N64 Roms folder, I have several other folders with the game types separated. Hope that makes sence.

Posted

What I have recently started doing was using Xpadder and making GameEx change the control schemes. I set up multiple emulators in the list that all direct to the same N64 emulator and each of them has a rompath that suts the control scheme of the games I have in those directories. So in the N64 Roms folder, I have several other folders with the game types separated. Hope that makes sence.

Actually I bought XPadder a few years ago so I might give that a bash.

As you say, multiple emulators can also be an option too.

I was hoping to create some super batch file that could be used for any emulator to change settings but the fact that I can only specify one ROM folder kind of spoils that idea :(

Posted

It's not really different emulators. You just have to make additional emulator profiles that direct to project 64. just make each of those profiles go to the rom directory you need it to go to. IE platformer games or FPS games. Also, you can then group all of those n64 profiles together in Emulator Groups to make 1 list in GameEx for all of the 64 games.

Posted

It's not really different emulators. You just have to make additional emulator profiles that direct to project 64. just make each of those profiles go to the rom directory you need it to go to. IE platformer games or FPS games. Also, you can then group all of those n64 profiles together in Emulator Groups to make 1 list in GameEx for all of the 64 games.

Didn't know u could do that - i'll give that a try. thx

Posted

GameEx will only let you specify one ROM directory, but you can set GameEx to scan subdirectories. It’s a bit of a workaround, but this would in theory give you the option of genre specific sub-directories existing under the parent directory you specify in GameEx.

If your batch file is running a string compare against the [ROMFILE] parameter already, you could simply expand the comparison to execute against the “[ROMPATH]\[ROMFILE]” parameters. If you wanted to get really fancy you could use a regular expression to run the string compare against only the ROM file and current directory (rather than the entire ROM path).

That’s if you like to tinker, and want to continue working on your current solution. Honestly I’d probably just go with the idea proposed by ChaosTiki, as it’s probably the most headache-free. One additional element of that solution is that if you go with multiple N64 emulator slots in GameEx you can bind them together as one emulator entry using the Emulator Groups feature. Let us know how this goes for you.

Posted

Thanks for the advice.

I have managed to find a solution now which I am happy with...

Maybe it will be of use for someone else or for other situations...who knows!

What I discovered is that most games on N64 can use a standard mapping so I created a Default.Reg file for these.

For any other Roms I did the following:

1. Configure GameEx to "Scan sub folders" as described by nullpointer (thx).

2. Change "Launch Before" setting to the following:

call "loadconfig.bat" "[ROMPATH]"

3. Leave all Roms that only need a Default Controller Configuration in the standard Rom Folder.

4. Configure Project 64 with a Default Controller Configuration and Export into a "*.Reg" file named "Default.reg".

5. Create a sub folder within the Roms folder for each other controller configurations that you might need i.e. "FPS" or "Platformer". Copy the appropriate games into the sub folder.

6. Configure Project 64 for each controller configuration and Export those Registry Settings into a "*.reg" file as well i.e. "FPS.reg" or "Platformer.reg".

7. Copy each of your "*.reg" files into the Project64 Emulator Directory.

8. Create a batch file named "loadconfig.bat" in the Project64 Emulator Directory with the following contents:

@echo off

SET INPUT1=%1

SET str=%INPUT1:~1,-1%

set str2=%str:~28,20%

echo.

if [%str2%]==[] (

Regedit /s Default.Reg

) else (

if [%str2%]==[FPS] (Regedit /s FPS.Reg)

if [%str2%]==[Racer] (Regedit /s Racer.Reg)

if [%str2%]==[Platform] (Regedit /s Platform.Reg)

)

What that will now do is check for the path after the "Roms" directory and will load the appropriate *.Reg file for that folder.

If the Path is the Normal Roms folder it will just load the "Default.reg" File.

The Number in Red will need changing to the number of letters in your emulator Roms folder. mine says "~28" becase there are 28 characters in the path of my Rom folder (Y:\Emulators\Project64\roms\) so anything after this point will be a Sub Folder.

Just repeat or amend these lines for as many Rom Sub Folders and seperate Registry files you have:

if [%str2%]==[FPS] (Regedit /s FPS.Reg)

if [%str2%]==[Racer] (Regedit /s Racer.Reg)

if [%str2%]==[Platform] (Regedit /s Platform.Reg)

May not be that elegant but it works!

Cheers

P.S. As I am also now using the "NRage" plugin for my XBOX Controllers I am exporting the

[HKEY_CURRENT_USER\Software\NRage] Key to these files.

Posted

I'm glad you got something to work, this is something I've been wondering for awhile now... So I'll have to run threw your thread a little slower next time around and give it a try.

Posted

this is a good idea. Thanks , myonions :)

At the moment I, too, am using an Xbox wireless gamepad and was trying to find the best mapping for all games. Maybe you could share yours? I've made the 'C' buttons be the right joystick. but as you say that doesnt work for some games.

Also, in this vein, does anyone have a similar solution for the Sega Saturn emulator SSF? One controller config works for everything except I'd like to use the Left Joystick instead of Dpad for the game Nights, but use Dpad for everything else. I've solved a similar problem with MAME because that emu lets you duplicate control input on a per game basis so I can make the dpad a dupe of the left joystick.

I'd be interested to know what other people think works best...

Posted

I kind of stole this guys config suggested here for the default one (degredo64):

http://forum.pj64-emu.com/showthread.php?t=155&highlight=controller&page=5

Here is my Reg file for the Default config. Just copy it into Notepad and rename to "Default.reg"

It's set up for 2 XBOX Wireless Controllers.

May need some tweaking such as enabling Rumble!

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\NRage]

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2]

@="1.80a"

"AutoConfig"=dword:00000000

"ShortCuts"=hex:1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,\

1b,1b,1b,1b,1b,1b,1b,1b

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2\Controller 1]

"Controls"=hex:00,08,01,03,00,08,03,03,00,08,02,03,00,08,00,03,00,07,00,01,00,\

02,00,02,00,02,00,01,00,00,00,01,00,05,00,01,00,04,00,01,00,01,00,01,00,03,\

00,01,00,02,01,02,00,06,00,01,00,00,00,02,00,00,01,02,00,01,00,02,00,01,01,\

02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

"ControllerSettings"=dword:3f000007

"DeviceSettings"=dword:00640a00

"RumbleSettings"=dword:00005001

"GameDevice"="Controller (Xbox 360 Wireless Receiver for Windows)"

"GameDeviceNr"=dword:00000001

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2\Controller 2]

"Controls"=hex:00,08,01,03,00,08,03,03,00,08,02,03,00,08,00,03,00,07,00,01,00,\

02,00,02,00,02,00,01,00,00,00,01,00,05,00,01,00,04,00,01,00,01,00,01,00,03,\

00,01,00,02,01,02,00,06,00,01,00,00,00,02,00,00,01,02,00,01,00,02,00,01,01,\

02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

"ControllerSettings"=dword:3f000007

"DeviceSettings"=dword:00640a00

"RumbleSettings"=dword:00005001

"GameDevice"="Controller (Xbox 360 Wireless Receiver for Windows)"

"GameDeviceNr"=dword:00000002

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2\Controller 3]

"Controls"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

"ControllerSettings"=dword:3f000006

"DeviceSettings"=dword:00640a00

"RumbleSettings"=dword:00005001

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2\Controller 4]

"Controls"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

"ControllerSettings"=dword:3f000006

"DeviceSettings"=dword:00640a00

"RumbleSettings"=dword:00005001

(Make sure that NRage is selected as the Plugin for the Controller).

Here is my Goldeneye one too but I think it needs a bit more tweaking as i'm not entirely happy yet. Tried to make the left stick fw, back and strafe with the right stick to look around more like a modern FPS...

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\NRage]

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2]

@="1.80a"

"AutoConfig"=dword:00000000

"ShortCuts"=hex:1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,1b,\

1b,1b,1b,1b,1b,1b,1b,1b

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2\Controller 1]

"Controls"=hex:00,08,01,03,00,08,03,03,00,08,02,03,00,08,00,03,00,07,00,01,00,\

02,01,02,00,02,00,01,00,00,00,01,00,00,00,02,00,00,01,02,00,04,01,02,00,04,\

00,02,00,05,00,01,00,04,00,01,00,03,00,02,00,03,01,02,00,01,00,02,00,01,01,\

02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

"ControllerSettings"=dword:3f000007

"DeviceSettings"=dword:00640a00

"RumbleSettings"=dword:00005001

"GameDevice"="Controller (Xbox 360 Wireless Receiver for Windows)"

"GameDeviceNr"=dword:00000001

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2\Controller 2]

"Controls"=hex:00,08,01,03,00,08,03,03,00,08,02,03,00,08,00,03,00,07,00,01,00,\

02,01,02,00,02,00,01,00,00,00,01,00,00,00,02,00,00,01,02,00,04,01,02,00,04,\

00,02,00,05,00,01,00,04,00,01,00,03,00,02,00,03,01,02,00,01,00,02,00,01,01,\

02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

"ControllerSettings"=dword:3f000007

"DeviceSettings"=dword:00640a00

"RumbleSettings"=dword:00005001

"GameDevice"="Controller (Xbox 360 Wireless Receiver for Windows)"

"GameDeviceNr"=dword:00000002

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2\Controller 3]

"Controls"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

"ControllerSettings"=dword:3f000006

"DeviceSettings"=dword:00640a00

"RumbleSettings"=dword:00005001

[HKEY_CURRENT_USER\Software\NRage\DX8InputPlugin2\Controller 4]

"Controls"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

"ControllerSettings"=dword:3f000006

"DeviceSettings"=dword:00640a00

"RumbleSettings"=dword:00005001

Hope it's of some use. :)

Guest
This topic is now closed to further replies.
×
×
  • Create New...