The Dragon King
Mame Hooker 4.0 FINALLY Released!  
Tuesday, May 31, 2011, 05:15 AM - Mame Hooker
After much delay and a lot of bug testing (thanks Dave and Ben) MameHooker 4.0 is finally ready!

There are a metric ton of additions this time, including a new built in ini editor, which should ease the pain of some of writing scripts. Please understand that because of the sheer amount of new additions to the code, there are bound to be bugs, so just let me know so I can get them fixed!

Also note the new "Tutorials" section for mamehooker. Mame Hooker is incredibly powerful, but judging by the example projects I've seen that use it and the scripts that the people write for it, it has become obvious to me that nobody but myself truely understands how to use the damn thing!! :-P Right now there are just two basic tutorials, but I there are at least 3 or 4 more on the way and I'll be adding more periodically. These tutorials will cover everything from generic usage to extremely specialized examples.

Also new display files are on the way as well, but it might be later this summer as those take a while to churn out.

So without further delay, here is the massive new feature list:

What's New

Added the ability to display data in hex in the debug window.
Because the popup menu is getting a tad crowded, I've made a new menu entry and moved things that are only helpful when you are debugging to that one.
Added a "new output alert" Now when mame is running and mamehooker finds outputs that haven't been previously found, it will play alert.wav.
Re-arranged the force-feedback init a little so that more controllers can be supported.
Added DirectShow Sound support which will allow you to play a wav file to a specific device instead of though all sound cards.
Added a bit more error handling... now if you don't add the right amount of cases on a value-specific state, mamehooker won't crash.
Modified keyboard state detection so that you have the option of keys defined in the default.ini being checked even if mame is closed.
Added a comprehensive script/ini editor. This should help those who have trouble writing scripts.
Changed the "Pause" event to "OnPause" and made it auto generate like the other general options.
Made the KeyStates section auto-generate as well, so people know it is there. ;-)
Made a "OnRotate" entry for the general section. This removes the annoying "Orientation//..." output from games and keeps mamehooker from generating a ini for every single game in mame.
Added entries in the general section to make the new Alerts optional and make automatically adding outputs to the default.ini optional.
Fixed a bug in the Xinput Driver preventing users from controlling player 2-4's rumble.
Added a little bit more error handling... now if you send a mal-formed command, with will give a syntax error in the debug menu.
Added a "**PAUSED**" indicator in the debug menu for when mame is paused.
Cleaned up the debug window... now things are a lot more obvious.
Added Full support for the Ultimarc PacDrive family of i/o devices, including the pacled64 and UHID (Thanks to Ben, Dave and Andy for their help)
FINALLY added optional parent/rom/driver parsing to make it easier when assigning outputs for a family of games (neogeo) or all of a games clones.
Added %parent% and %driver% flags to go along with the existing %rom% flag
Changed the way backgrounds are rendered on display files. Hopefully it will fix the "screen cut off" image errors.
Added "+" and "-" support to the sds command. Now you can set the next or previous value to true (+1 or -1) instead of specifying a absolute number.
Added a special %prd% flag that works for display files only... using the new parent and rom variables, using a %prd% flag makes mamehooker automatically look for the most accuract match.
Added support for multipliers, which allow you to bind a math operation to a output's state...

As usual, the link is in the menu to the right... Enjoy!

I've got the hookup YO! 
Thursday, March 31, 2011, 03:01 AM - Mame Hooker
I've spent the last month or so jumping back and forth between various projects all in the hopes of getting my assembly line of apps flowing out the door again.

MameHooker 3.8 will be the next release. This is probably the most major release in the history of the application, with 15 lines of added features in the what's new alone!

The most notable change you will see is the addition of a GUI for editing scripts quickly without the need for the readme.txt I never thought that I would add such a feature but during the debugging of the latest build I became so annoyed over having to lookup the commands and checking for syntax errors when i use them. I figured if I was having trouble then there isn't any help for the average user.

The new method won't be perfect, but it is infinately easier to use than previous builds... at least for simple scripts and commands... you'll still have to do a bit of manual typing for really advanced stuff.

The reason I'm making this post is that I've totally rebuilt the pacdrive (now ultimarc) sections to incorporate the pacdrive.dll, which is richer in features. I need people with ultimarc devices (pacdrive, pacled64, UHID) lined up to test upon release as I don't own any of these devices. PM me at BYOAC if you would like to help.

MameHooker WIP 
Monday, February 21, 2011, 11:24 AM - Mame Hooker
While "real world" annoyances are slowing me down a little, I am still making steady progress.

The newest feature to mamehooker that I think a lot of the noobs will be most thankful for is the new ini editor. Run a game in MAME (in windowed mode of course) fire up mamehooker and select "edit ini" from the menu and a color-coded version of the ini file for that game will pop up. What's more, I've added a "add command" feature that allows novices to add commands to the ini via a drop down box instead of having to type them manually. The add command feature is rich enough to where only valid variable values are selectable and descriptions of each variable are given.

I'm powering all of this with a rich text box control, which I've never really fooled around with. I am more than impressed with the amount of functionality that the RTB has available. While the ini editor isn't going to be as smart as a visual stuido environment or anything, I think it will really cut down on the basic questions and hopefully make it easier for people to make their own scripts.

Mame Hooker 3.7 Released! 
Thursday, April 8, 2010, 11:05 AM - Mame Hooker
This is a minor revision that adds a major feature. Now you can optionally track key presses and set them up like outputs to fire events when you press a key!

Taken from the readme.txt:

What's New
Added support for keyboard state detection. Now you can run scripts when a key is pressed!
Added Play Wav File command.
When used in conjunction with the keyboard state command, you could make a nice "quarter insertion sound" when the coin-up buttons are pressed
Made Mame Hooker invisible on bootup (hopefully.)
Finished the New Digit Creator, this program helps you generate led segmented digits for use with display files.

Barring any major developments, this will be the last release for a while. Mamehooker is pretty much finished at this point. I will instead work on building the rest of the mamehooker webpage and get examples and lists of known output-enabled games up.

Mame Hooker 3.6 
Sunday, March 21, 2010, 03:59 PM - Mame Hooker
This version fixes some of the things I didn't fully implement last time as well as adding new functions for all the wacky ideas we've been throwing around over at boyac.

From the readme:


What's New
Added global pulse speed for ledwiz as it'll be useful for some exotic hardware setups.
Added Looping command for mamehooker script files.
Added Advanced Flagging support, you can now use not only the current ouput's state, but ANY output's state as a variable.
(See Explaination of Scripting language section for details.)
Added Loop From Script command, which loads an animation in an independant, infinate loop
Added Kill Loop command, to stop it. :)
Fixed the "keepaspect" option in display files for non-png images. It should work great now.
Added better image support... now if your machine can view it in explorer, it's supported!
Added a command to output the display file to an image.
Added "buffer math operation command", for more robust data manipulation.
Added log command, which allows you to write the contents of the debug window to file.
Added generic file operations commands... you can now copy/rename files and delete them.


On a side note you might be wondering why I haven't been releasing the source. The fact of the matter is mame hooker is in a state of flux right now and I'm constantly adding/deleting huge chunks of code. Once things slow down again I will release source code for the latest version.

That being said, mame hooker is about done. There is a digit generator for display files that I've yet to release and many of the display files themselves will need to be updated, but as far as the exe itself is concerned, I can only see one, maybe two more updates in it's future. It does everything I wanted it to do and barring some code changes to add support for other emulators, I consider it finished.

In leu of working on the display files and digit generator some more, I've decided to take time off from it and work on the mame source code. I've been making some progress
with hooking up outputs and I want to get it submitted before mame is updated anymore.