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. Thank you for your support. Tom Speirs

Patreon

UltraStik Plugin pre-release


cupid

Recommended Posts

Name: UltraStik Plugin

Version: 0.5

Author: Cupid

Description: Sets UltraStik 360 Joysticks from Ultimarc for Games

This plugin will select the correct map for Ultrastick 360 Joysticks for a Game, when you run it.

OK, I got my plugin to work. But it is really a pre release, so it might not be easy to get it running. Also you have to configure your system a little bit for it.

Here is a step by step guide to get it to work with Mame.

1. You MUST have Ultramap installed and it must have been installed to the default folder.

(It's c:\programme\ultramap at my computer since i have a german windows installed, but would be c:\program files\ultramap at your computer. My plugin should get the default install path for programs for your windows)

2. You MUST have at least the standard ".um"-Files in your c:\program files\ultramap\maps folder

Standard means at least:

2-way, Left & Right.um

2-way, Up & Down.um

4-way.um

8-way.um

analog.um (I don't know if this is standard, if not, please create this map (should be an analog map of course))

3. You MUST have a new and ORIGINAL!!! MAME version installed in c:\mame

There MUST be a c:\mame\mame.exe file!!!

The plugin works fine with MAME 0.111 from www.mame.net.

This Mame-Version is only for reading the Gamelist in the Plugin manager. You will play the game with whatever MAME you have configured in the GameEx Config.

4. In your UltraMap you should set the required Joysticks under Tools/Options or you will get some annoying popups in GameEx.

5. Put Ultrastik_Plugin.dll in the plugins folder of GameEx.

6. Start the Plugin Manager of GameEx

7. Activate the plugin

8. Configure the plugin

You should see an empty list (Game + UGC-File)

You should see Box "Emulator" and MAME inside

You should see another box ("UGC-File") with your first UGC-File. At least the UGC-Files of the above mentioned Standard um-Files should be there.

9. Choose File/Import Mame Games and wait some seconds.

The game list should be visible now. Each game should have a good UGC-File now. You can sort the List by clicking on the header.

10. (Optional) you can change a Game's UGC-File by selecting a row, selecting the UGC-File in the bottom box and by clicking "set".

11. Close the configuration window by clicking on its X

12. Close the Plugin Manager

13. Start GameEx.

Within GameEx your joysticks are 8-way.

When you start a MAME game the corresponding UGC-File will be loaded.

When you exit a MAME game your Joystick will be 8-way.

If you have problems with this plugin, please report them in this topic and attach your config.xml and please list the files in your c:\program files\gameex\plugins\ultrastik_plugin folder.

The next Todo's are the following:

  • Write a Wizard to set everything up.
  • Check for needed programs.
  • Enable other Emulators
  • Enable "in GameEx map change"
  • Multirow select
  • Try to set the undocumented deadzone B) without nag-screen
  • Remove bugs
  • Comment the code :lol:
  • many more...
  • Rule the world

If the plugin works stable and the comments are in the code i'll release the code here

Have fun!

Cupid

UltraStik_Plugin.zip

Link to comment
Share on other sites

Name: UltraStik Plugin

Version: 0.5

Author: Cupid

Description: Sets UltraStik 360 Joysticks from Ultimarc for Games

This plugin will select the correct map for Ultrastick 360 Joysticks for a Game, when you run it.

OK, I got my plugin to work. But it is really a pre release, so it might not be easy to get it running. Also you have to configure your system a little bit for it.

Here is a step by step guide to get it to work with Mame.

1. You MUST have Ultramap installed and it must have been installed to the default folder.

(It's c:\programme\ultramap at my computer since i have a german windows installed, but would be c:\program files\ultramap at your computer. My plugin should get the default install path for programs for your windows)

2. You MUST have at least the standard ".um"-Files in your c:\program files\ultramap\maps folder

Standard means at least:

2-way, Left & Right.um

2-way, Up & Down.um

4-way.um

8-way.um

analog.um (I don't know if this is standard, if not, please create this map (should be an analog map of course))

3. You MUST have a new and ORIGINAL!!! MAME version installed in c:\mame

There MUST be a c:\mame\mame.exe file!!!

The plugin works fine with MAME 0.111 from www.mame.net.

This Mame-Version is only for reading the Gamelist in the Plugin manager. You will play the game with whatever MAME you have configured in the GameEx Config.

4. In your UltraMap you should set the required Joysticks under Tools/Options or you will get some annoying popups in GameEx.

5. Put Ultrastik_Plugin.dll in the plugins folder of GameEx.

6. Start the Plugin Manager of GameEx

7. Activate the plugin

8. Configure the plugin

You should see an empty list (Game + UGC-File)

You should see Box "Emulator" and MAME inside

You should see another box ("UGC-File") with your first UGC-File. At least the UGC-Files of the above mentioned Standard um-Files should be there.

9. Choose File/Import Mame Games and wait some seconds.

The game list should be visible now. Each game should have a good UGC-File now. You can sort the List by clicking on the header.

10. (Optional) you can change a Game's UGC-File by selecting a row, selecting the UGC-File in the bottom box and by clicking "set".

11. Close the configuration window by clicking on its X

12. Close the Plugin Manager

13. Start GameEx.

Within GameEx your joysticks are 8-way.

When you start a MAME game the corresponding UGC-File will be loaded.

When you exit a MAME game your Joystick will be 8-way.

If you have problems with this plugin, please report them in this topic (click here!) and attach your config.xml and please list the files in your c:\program files\gameex\plugins\ultrastik_plugin folder.

Have fun!

Cupid

Cupid, this is great.

Just a few suggestions for next release. Upon configuring plugin, if mame list is not generated auto generate it. Rather than hardcoded path to mame, perhaps read GameEx.ini and use the mame path and exe specified there. Upon initialising of the plugin check the paths are good and mame list is there, otherwise return FALSE.

Link to comment
Share on other sites

Another great plugin! I have been considering switching to the ultimarc sticks mainly for visual reasons. Running big, American 49 way sticks in a Japanese cab looks kinda funny but I love having the auto switching modes that GameEx gives me using the built in support for selecting the mode. Now that there's an UltraStick plugin I can switch to the sticks that will look normal for my cab and still get auto mode switching! WooHoo!

Thanks!

Toonces

Link to comment
Share on other sites

To Tom:

I don't want to import the full mame list nomally. If you only have a few games installed in Mame it should (TODO) add only the runnned game to the list. You should not have to import the whole mame list in future versions.

If a mame game is called, the game should be automatically added to the list. If another Emulator is called a new list should be created. You should be able to either set a default map for the new emulator or set the maps individually for each game.

With mame and XML output i had a few issues with older Mame versions. If one had installed an older version of Mame in gameex the plugin won't work. Thats why it's hard coded at the moment and i'm not using the one in gameex.ini.

To HK:

I just use the working path of the plugin manager + "plugins\\ultrastik_plugin".

As i'm creating some files i thought it would be good to make a new directory under plugins.

Thanks to all! Please report it here if you use this plugin.

Link to comment
Share on other sites

Oh tom... now I understand you... Of course i'm answering false to initialisation if anything happens to the paths... I took everything out for debugging, so it's already programmed. Just not "in"...

:-)

Cupid

Link to comment
Share on other sites

Oh tom... now I understand you... Of course i'm answering false to initialisation if anything happens to the paths... I took everything out for debugging, so it's already programmed. Just not "in"...

:-)

Cupid

HI Cupid, GameEx only supports versions of MAME with XML output, just for your info. So your safe to get it from the ini. Just check it exists.

HI Cupid, GameEx only supports versions of MAME with XML output, just for your info. So your safe to get it from the ini. Just check it exists.

Also, what do you need from the XML MAME output that GameEx does not give you? Do I need to add something?

Link to comment
Share on other sites

HI Cupid, GameEx only supports versions of MAME with XML output, just for your info. So your safe to get it from the ini. Just check it exists.

Also, what do you need from the XML MAME output that GameEx does not give you? Do I need to add something?

I need the Inputs...

Your inputs are somehow scrambled... I wrote you somewhere in the forum and you told that you have to rewrite the code for the inputs. And additional to that I noticed that the inputs vary from different mame versions. Sometimes (in newer Mame Versions with XML Output) The inputs are like this:

<input players="2" buttons="1" coins="2">

<control type="joy4way"/>

</input>

and in older with XML-Output (i had a mamepp.exe (maybe because of the pp???))

Thats from Memory as i don't have my notebook or my sources of my plugin here:

<input players="2" buttons="1" coins="2" control="joy4way">

</input>

In my plugin i read the control="" first and then all <control type=""/>, write them to an array and take the first element.

But I'll use the GameEx mame from now on... Another thing i don't have to do with a setup wizard.

__________

I thought about usability. I'd like to let the users decide about the right control type inside of gameex when they are in the details of a game. The problem is that i need a Row that is selectable and clickable (Like "Ultrastik Map=4Way (click to change)"). Is that possible in future versions? Now I could make such a function with a button combination and a messagebox, but if you have 7 or more Maps it would take long time to click the button combi and accept the messagebox 6 or more times to cycle through the maps.

Thanks for your support.

Cupid

Link to comment
Share on other sites

Hi Cupid, I understand about the control types passed from GameEx and I am aware of the differences in MAME versios, and I do remember your post. Ill try and get that fixed for the next version.

If you had a string that was not garbled and seperated with pipe (|) you would not need to get the XML from MAME, correct?

Link to comment
Share on other sites

Yes... But, if you fix it, you could also support multiple inputs and some more informations, do you have the game screen resolution and/or the avga Res you switch to? Alternating/mirrored from Controls.dat? (future projects...)

I really need the screenres and/or AVGA res (for another plugin)... That would be better than Controls...

You're giving a small finger and i'm taking the whole hand now, i think ...

Link to comment
Share on other sites

Yes... But, if you fix it, you could also support multiple inputs and some more informations, do you have the game screen resolution and/or the avga Res you switch to? Alternating/mirrored from Controls.dat? (future projects...)

I really need the screenres and/or AVGA res (for another plugin)... That would be better than Controls...

You're giving a small finger and i'm taking the whole hand now, i think ...

I can probably do that.

Link to comment
Share on other sites

Cupid,

Just to let you know, GameEx sends the correct control types now (needs a list update). It will be in the next release.

Ill add your other requests to the list or perhaps you can temp me to move a bit faster with some details at what your looking at doing ;)

By the way it does send multiple inputs too. If you want a private Beta of the next version just drop me an email. .net 2.0 plugins are supported, and theres quite a few enhancments to the plugin system.

Tom.

Link to comment
Share on other sites

  • 2 weeks later...

I purchased/installed 2 ultrastiks shortly before this plugin was released. I didn't spend much time on it, but am now going back and tieing up loose ends. Followed the instructions, Ultramap is in the default location "C:\program files\ultramap", the default maps are also in the default location, and the plugin config has the games listed in it with the corresponding config listed for each one. However, when launching a game, the sticks don't get remapped, and I'm not sure if the ultramap util is being called. Anyone using this plugin successfully before I spend more time on it?

Link to comment
Share on other sites

  • 3 weeks later...
I purchased/installed 2 ultrastiks shortly before this plugin was released. I didn't spend much time on it, but am now going back and tieing up loose ends. Followed the instructions, Ultramap is in the default location "C:\program files\ultramap", the default maps are also in the default location, and the plugin config has the games listed in it with the corresponding config listed for each one. However, when launching a game, the sticks don't get remapped, and I'm not sure if the ultramap util is being called. Anyone using this plugin successfully before I spend more time on it?

I've been hoping to hear how progress is going before I try it myself. Would love it if GameEx could have a drop-down option within an individual game menu to select the map file one would like to load upon starting. Wish I had the know-how to write something like that. I have several game-specific maps that enhance performance of the Stiks to a certain game. It doesn't sound like Cupid's plugin is yet configged to support maps like that.

Link to comment
Share on other sites

  • 3 weeks later...
To Tom:

I don't want to import the full mame list nomally. If you only have a few games installed in Mame it should (TODO) add only the runnned game to the list. You should not have to import the whole mame list in future versions.

If a mame game is called, the game should be automatically added to the list. If another Emulator is called a new list should be created. You should be able to either set a default map for the new emulator or set the maps individually for each game.

With mame and XML output i had a few issues with older Mame versions. If one had installed an older version of Mame in gameex the plugin won't work. Thats why it's hard coded at the moment and i'm not using the one in gameex.ini.

To HK:

I just use the working path of the plugin manager + "plugins\\ultrastik_plugin".

As i'm creating some files i thought it would be good to make a new directory under plugins.

Thanks to all! Please report it here if you use this plugin.

I have been using this plugin for awhile, and it works great! Make sure and follow the instructions.

The default map for Q*bert is incorrect, and I think that I had to shut down and restart the plugin manager, to get it to change to the 4 way diagonals map, but no big deal. My only request to cupid would be to be able to browse to your mame file instead of having it default, but I can live with that too. Thanks Cupid for a great Plugin.

Link to comment
Share on other sites

  • 4 months later...

I recently tried Gamex as a front end for my Mame machines and find that it is a very elegant front end.

After discovering that there was a plugin for my Ultrasticks, I couldn't have been happier.

I have mame118 as mame.exe in the c:\mame folder

My ultramap is located at C:\Program Files\Ultramap

and gamex is in the c:\Program Files\Gamex folder with the proper files in the C:\Program Files\Gamex\Plugins\ultrastik_plugin directory. I will post my xml file if need be.

I was able to configure the plugin, with no problem, it created the complete list.

When I change one for testing purposes to 2-way or 4-way diagonal, it doesn't change it in the game. It did save the changes to the xml file

It does change the stick to 8-way when loading Gamex as well.

So I do think it is making a call.

I added a few maps to see if the plugin would pick them up in the configuration mode.

It didn't, It still only had the original ones. I did remove the xml file and have it recreate it.

My question is, would the plugin find any maps if the Path were wrong? It seems to me this may be a path issue as it doesn't "see" any of my additional maps in the Ultramap directory.

any other considerations? I still have the free version, am using Mame32 for my emu, but have tested with mame with the same results.

This plugin is my missing link to a super user friendly multi-arcade machine. Thanks for the work on this.

Just an update, it turns out an updated Ultramap did the trick. Thanks for this great software!

Link to comment
Share on other sites

  • 2 weeks later...

I'm trying to get this working and have a couple of questions for anyone that's using it. I followed all of the directions, but how can you tell that it's actually work. Should it load the ultramap software when switching games? I couldn't tell in pacman, but it seemed like it wasn't switching to 4way. I opened the software manual after the game was loaded and it was still showing 8way.

Link to comment
Share on other sites

I was able to get this plugin to work very briefly. I tried every thing I could think of, very systematically trying to figure out what made it work. I thought it was the updated Ultramap that fixed it. Possibly it was because I was using an older Gameex version as I was just trying it for the first time. I am pretty convinced that this plugin does not work with the current gammexx software. However it is super easy to have Gameex program the joysticks for you.

Put this in the config: ShellBeforeLaunch=C:\Progra~1\UltraMap\UltraMap.exe "C:\ultramapsmame\[ROM].ugc"

ShellOnExit=C:\Progra~1\UltraMap\UltraMap.exe "C:\ultramapsmame\8-Way.ugc"

Where "C:\ultramapsmame" is the location of the ugc files

After I configured the games in the plugin, (some are wrong by default), I took the config.XML then parsed it to create a couple of batch files to create the individual game UGC files from the basic mapping UGC files. The plugin xml output seemed like the easiest place to find the correlating data between games and mappings. I ended up correlating them to the shortnames (roms) because of the illegal file characters in the long ones. Note that you want to disable the plugin after doing all of this.

Here is a zip file of all of the ugc files that I use. You could just use this and the commands above, then use the Ultra Map program to manually change any of the files that aren't correct.

ultramaps.zip

Link to comment
Share on other sites

The ultrastick plugin only worked during one of my many cycles at attempting it. I felt like upgrading the software had done the trick, however it could be that my testing of it actually working was flawed. What always worked was the programming into 8-way mode while entering the program. However it never changed the mappings when entering a game. I could set the joystick to 2-way left right, then enter the game and it would be 8-way, but if I played a game like 1942 that I had set to 2-way, it would leave it 8-way, also It is easy to tell in games like donkey kong or btime that it never was programming it to 4-way when entering a game. The ultramap interface never showed in any situation. The UGC files I posted will work if you have 2 joysticks. Possibly one. You can use this command while running Gamex in a windowed mode to see if any errors are generated. ShellBeforeLaunch=C:\Progra~1\UltraMap\UltraMap.exe "C:\ultramapsmame\[ROM].ugc" /errorgui:25

again the paths are relative to my setup but if installed ultramap to the default and put the ugc files into a folder C:\ultramapsmame your joysticks will be programmed. You can test it by removing the "ShellOnExit=" command. Program the joysticks using the Ultramap to Analog, then start Gameex, run dkong, then exit, start the Ultramap, and note that it is now 4-way. Ultramap only reports the correct mapping as it starts, so you can't leave it running to see if the mappings are changing. This is probably way too much detail but I spent too much time trying to figure out if that plugin was working or not. It doesn't seem like many have posted here about it so I hope this helps. I found Gameex in search of a front end that would let me map my joysticks easily. It provides that plus so much more, thanks to Tom and everyone who worked on this elegant program.

Link to comment
Share on other sites

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