About This File
I share a script I made for Rocket Launcher that programs UGC files (e.g 4-way, 8-way, 2-way, analog, etc.. ) to Ultimarc's UltraStik 360 Joysticks before launching a Rom, without requiring LedBlinky. It uses the User Function feature of RL. (Updated to new script language as of RocketLauncher v1.2, Jan-2017)
(Note: RocketLauncher can now handle UltraStick directly from RLUI. However, it requires you to enter the profile for each system / game manually. The only advantage of this script is that it allows you the define the profile for each system / rom using a .ini file)
UltraStik 360 Programmer
You can define a different UGC file for each Rom or System. It also programs the Joysticks when you exit a Rom, allowing you to define a UGC file for the Front-end. UltraStik 360 Programmer can replace LedBlinky if you are using it only to program you U360s (as I was doing!).
UGC files (UltraStik Game Configuration) tells the UltraMap.exe program which maps to download to which joysticks (numbered 1 to 4). For example, 4-way.ugc tells UltraMap to program the 4-way Map (4-way.um, located in the Maps subfolder of the UltraMap program folder) to both joysticks 1 and 2. In this pack I include 6 UGC files: 2-way, 2-way-vertical, 4-way, 4-way-diagonal, 8-way, analog.
With the UltraStick 360 Programmer, you can specify a system (MAME, Nintendo Entertainment System, Atari 2600, etc..) to use a different UGC file per Rom (a "Per Rom System"), or to use the same UGC file for all roms. I include UGC files for most MAME games in the default ini file, with the default as 8-way.
- Copy "Global.ahk" to the "Rocket Launcher\Lib\User Functions" folder. WARNING: If you have other User Functions already programmed in User Functions.ahk, do not overwrite your file. You should edit it and add the code provided here.
- Copy "UltraStik 360 Programmer.ini" to the "Rocket Launcher\Lib\User Functions" folder
- Edit "UltraStik 360 Programmer.ini" to specify the location of the UltraMap software (in the UltraMapExe key). If you don't have it installed, please download it from http://www.ultimarc.com/ultrastik_prog.html and install it. By default, it installs itself in C:\Program Files (x86)\UltraMap.
- Copy the provided UGC files to the UltraMap program folder (in the same folder where UltraMap.exe is in). Also copy the Maps that are in the Maps folder to your UltraMap/Maps folder. Feel free to modify these UGC files with the UltraMap software.
That's it, enjoy! You can further edit the ini file to better suit your needs
In the ini file (UltraStik 360 Programmer.ini, located in Rocket Launcher\Lib) you define a global default UGC (typically 8-way). This UGC is used when there is no specified UGC for either the System or the Rom.
In the [PerRomSystems] section of the ini file, enter "System Name"=true for systems that can have a different UGC files for each Rom. (e.g. MAME=true). If a system is a PerRomSystem, the script looks for a specific UGC for each Rom. If it does not find it, it looks for a default system UGC in the [systems] section. And if it does not find it either, it uses de global default UGC.
In the [systems] section, enter the ugc file for each system (without quotes and without the .ugc extension, e.g. Nintendo Entertainment System=8-way). If the current System is a Per Rom System, this UGC will be used as default when no rom UGC is specified. If the current system is not a Per Rom System, this UGC will be loaded for all roms of the system. If a system is not specified in this section, UltraStik 360 Programmer will use the global default.
The system "FrontEnd" is the system name assigned to the front end. This UGC is loaded each time you exit a rom.
The system "Pause" is the system name assigned Rocket Launcher's Pause. This UGC is loaded each time you enter Pause. When exiting Pause the programmer reloads the Rom's UGC.
In the [Roms] section, enter the UGC file for each rom, for all PerRomSystems (without quotes and without the .ugc extension, e.g. invaders=2-way). If a rom is not specified, the script will use the UGC given in Systems, or the global default.
Credits: I used rom UGC configs prepared by EMDB for HyperMap (http://forum.arcadecontrols.com/inde...,134128.0.html), and took the main idea of this Programmer from byancey (http://forum.arcadecontrols.com/inde...tml#msg1483682). Thanks to both!
v2.0 - Compatible with RocketLauncher v1.2 (new location and scripting language)
v1.01 - Works with RocketLauncher 1.01, takes advantage of the new Pause Features: StartPauseUserFeatures and StopPauseUserFeatures.
What's New in Version 2.0
- V2.0 - Now compatible with new user functions languaje and location..
- V1.01 - Now define a UGC for Pause