retango Posted May 21, 2015 Posted May 21, 2015 UltraStik 360 Programmer View File Hi! 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. Installation 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 Ini File 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! Change History 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. ReTango Submitter retango Submitted 05/21/2015 Category Other Credits
Zeosstud Posted May 24, 2015 Posted May 24, 2015 This is totally working for me and I just wanted to say "Thank You"..
MydknyteStyrm Posted June 5, 2015 Posted June 5, 2015 This program is seamless. Makes it so easy to switch between UGC files. Two questions I have. 1. Does the UGC file loaded when entering a rom go for each controller, or just Player 1. I have four Ultrastiks, and had to set one up as reverse due to limited CP space. 2. When I load a game, I get a Windows "ding" sound, as soon as i start it. I assume it's the UGC loading into the controller. Aside from shutting off the sounds in control panel, is there a way to stop it? Thanks!
Nocturnaloner Posted March 17, 2016 Posted March 17, 2016 Unfortunately, I can't get Ultrastik Reprogrammer to work with Hyperspin 1.4. The .ahk file is in the proper place, as is the .ini file. The path to Ultramap is set, and the .ugc and map files are in place. It seems like the .ahk file simply doesn't run. I also tried to get it to work by running it with Antos' Event Dispatcher system. When I run a command directly to Ultramap to install a .ugc on the Ultrastik, that works. However If I run the .ahk with a system and rom name parameter, (EDS can execute ahk files directly) nothing happens. Any ideas? No log files are saved either, that I can see.
Lucky1 Posted March 28, 2016 Posted March 28, 2016 It's now integrated into Rocketlauncher so you can setup the programmer per system and games. Setting> mapping> Ultimarc>Utramap enabled = True Keymapper> Ultrastick tab
gigapig Posted November 9, 2016 Posted November 9, 2016 I posted the below at the RL forum as well. Does this still work with the new User function? Will the ini file go in the user function folder? At the moment I've tried adding it after ";Insert code Here" in the Global.ahk Thank you ; Code in this file will always be run regardless of the system or game being launched ; Do not change the line with the class declaration! The class name must always be GlobalUserFunction and extend UserFunction ; This is just a sample file, you only need to implement the methods you will use the others can be deleted class GlobalUserFunction extends UserFunction { ; Use this function to define any code you want to run on initialization InitUserFeatures() { Global dbName RLLog.Info(A_ThisFunc . " - Starting") ; INSERT CODE HERE StartGlobalUserFeatures(){ Log("StartGlobalUserFeatures - Starting") Global systemName, romName ProgramUltraStik360(systemName, romName) Log("StartGlobalUserFeatures - Ending") } ; Use this function to define any code you may need to stop or clean up in every module on exit StopGlobalUserFeatures(){ Log("StopGlobalUserFeatures - Starting") ProgramUltraStik360("FrontEnd","Rom") Log("StopGlobalUserFeatures - Ending") } ; Use this function to define any code you want to run before Pause starts StartPauseUserFeatures(){ Log("StartPauseUserFeatures - Starting") ProgramUltraStik360("Pause","Rom") Log("StartPauseUserFeatures - Ending") } ; Use this function to define any code you may need to stop or clean up after Pause ends StopPauseUserFeatures(){ Log("StopPauseUserFeatures - Starting") Global systemName, romName ProgramUltraStik360(systemName, romName) Log("StopPauseUserFeatures - Ending") } ProgramUltraStik360(systemName, romName) { ;SplitPath, A_LineFile, , iniPath ;should work, but doesn't! iniPath :=A_ScriptDir . "\lib" iniFile=%iniPath%\UltraStik 360 Programmer.ini IfNotExist, %iniFile% Log("UltraStik 360 Programmer ini file not found: " . iniFile . ". Please put the ""UltraStik 360 Programmer.ini"" file in the ""Rocket Launcher\lib"" folder.") IniRead, UltraMapExe, %iniFile%, Settings, UltraMapExe, C:\Program Files (x86)\UltraMap\UltraMap.exe IfNotExist, %UltraMapExe% { Log("UltraMap Script could not find Ultramap.exe not found: " . UltraMapExe . ". Please check path in the ini file. Exiting UltraMap Script.") Return } SplitPath, UltraMapExe, , ugcPath IniRead, ugcGlobalDefault, %iniFile%, Settings, ugcGlobalDefault If (ugcGlobalDefault="ERROR") { ugcGlobalDefault=8-way logText:=logText . "ugcGlobalDefault not found in ini file. Using 8-way as Global Default. " } IniRead, IsPerRom, %iniFile%, PerRomSystems, %systemName% If (%IsPerRom%) { IniRead, ugc, %iniFile%, Roms, %romName% If (ugc="ERROR") { IniRead, ugc, %iniFile%, Systems, %systemName% If (ugc="ERROR") { ugc:= ugcGlobalDefault logText:=logText . " System is " systemName . ", a system that uses a UGC file per rom. Rom is " . romName . ". No rom nor system UGC found in the ini file, using global default: " . ugc } Else logText:=logText . " System is " systemName . ", a system that uses a UGC file per rom. Rom is " . romName . ". Rom UGC not found in the ini file, using system default: " . ugc } Else logText:=logText . " System is " systemName . ", a system that uses a UGC file per rom. Rom is " . romName . ". Rom UGC found in the ini file: " . ugc } Else { IniRead, ugc, %iniFile%, Systems, %systemName% If (ugc="ERROR") { ugc:= ugcGlobalDefault logText:=logText . " System is " systemName . ", a system that uses the same UGC file for all roms. System UGC not found in ini file, using global default: " . ugc } Else logText:=logText . " System is " systemName . ", a system that uses the same UGC file for all roms. System UGC found in ini file: " . ugc } IfNotExist, %ugcPath%\%ugc%.ugc { Log("UltraStik 360 Programmer- UGC file not found: " . ugcPath . "\" . ugc . ".ugc. Exiting UltraMap Script. " . logText) Return } Run, %UltraMapExe% %ugcPath%\%ugc%.ugc /logerrors %ugcPath%\UltraMapLog.log Log("UltraStik 360 Programmer loaded """ . ugc . ".ugc"". " . logText) } RLLog.Info(A_ThisFunc . " - Ending") }
Recommended Posts
Archived
This topic is now archived and is closed to further replies.