Home Page
****** Will be Back on 9/30 ******
Sorry, but I will be back on 9/30. I thought I was done with the computer, but I was wrong. After getting things done, I was so tired, I slept for 2 days, which was Thursday and Friday (9/25 & 9/26). Since I was so tired, the wife and I didn't even celebrate are 20th Anniversary, so I rested all weekend, and we went out Sunday. Also, the new acrylic panels for the computer came Friday. So I installed them on Monday (9/29). This took some time, as I had to drill out 3 one inch holes in the top acrylic panel, for the 3 fill ports. This takes some time, as I had to make sure the fill tubes where straight and in the right place. Also, acrylic scratches so easy, I took my time to minimize the scratches. Now all the new acrylic panels are on and the computer is done. The fluid is good for 5 years, so I will be good for a long time.
What is Hook of the Reaper?
It is a program to make light guns work like they did in the arcade. For example, when you run out of ammo, the light gun will not recoil anymore. Or when you get hit, the light gun will rumble, if it has a rumble motor. Hook of the Reaper accomplishes this by processing the output signals from an arcade game or a regular video game. The output signals can control lights, displays, and light guns. I am sure that you have seen the start button, start to flash, once you have put in a coin. That flashing is controlled by an output signal. The same way that it tells the light to flash, is the same way it tells the original arcade light gun to recoil or rumble. I have been told that the output signals originated from the window to window communication of different programs. As it was the time before the internet and networks. Also, now programs can read the memory of light gun games, and create their own output signals that are needed for light guns. Like a solenoid recoil signal, ammo, life, damage, and reload. Some programs still use the window to window communication, but other have moved on to network connections. The Hook of the Reaper uses the standard TCP network connection, first used by MAME. This is on the port 8000. There is also an UDP broadcast, on port 8001.
Now the Hook of the Reaper gets the output signals from the network connection, how does it know what to do with them? For every game, there is a game file(s). The Hook of the Reaper can process 2 different game file formats. The first, is the MAMEHooker INI game file format. Currently, Hook of the Reaper can do all the serial port commands, except for the read. Also, it can do the general USB HID writes. There is a limit of 4 USB HID connections. The '|' and '%s%' is supported in the game files. Since the MAMEHooker INI game files are self contained, it will only work with certain light guns. A person with light gun #1, cannot use a MAMEHooker INI game file made for light gun #2. Modifications needs to be done to the game file to work correctly.
The second game file format supported by Hook of the Reaper is DefaultLG game file format. The DefaultLG game files will work with all the supported light guns. It also can work with unsupported like guns, but extra work is needed for this to happen. The DefaultLG removes all the custom commands out of the game file. It then has a list of generic commands that are connected to select output signals. For example, player #1 solenoid recoil signal, is connected to the 'Recoil' command. Then when player #1 solenoid recoil signal is active, Hook of the Reaper, will send the light gun's recoil command. So in the game file, the command is the generic 'Recoil', but since Hook of the Reaper knows what kind of light gun it is, it will send that light gun's recoil command to it. Therefore, only generic light gun commands are used in the DefaultLG game file format. Then Hook of the Reaper will know what light guns are being used, and what commands it will send. Since the game file is not self contained, light gun(s) must be saved and assigned in Hook of the Reaper.
On this website, you will find two things. The first is the official game files for Hook of the Reaper. All the files are in DefaultLG game file format, so there will work on any supported light gun. There will be no MAMEHooker INI game files stored at this site. All the light gun games that support output signals will have a game file for it. If you don't see the game file, then most likely, that arcade game didn't have output signals. This will end searching for light gun game files in the future. Except for new light gun games coming to the public. Which will take some time to make and get up onto the site.
Currently, Game Files are Being Processed or Being Made. Game Files will be Added when they are Completed.
Where to Download Hook of the Reaper?
Go to the Hook of the Reaper GitHub Latest Release page?
Why use Hook of the Reaper over MameHooker?
DefaultLG Game Files
The DefaultLG game files are the major advantage for Hook of the Reaper. Instead of having the actual commands in the game file, generic commands, like 'Recoil', are used. This makes the game file independent from the light gun, and then can be used by any light gun. Hook of the Reaper will know what light gun you have, and then change out the generic commands, with the light gun commands. Therefore, one game file can be used by all the supported light guns. If a user gets a new light gun, then they can add it to Hook of the Reaper, and then assign it to a player. Then use the same DefaultLG game files that the previous light guns were using. This cannot happen in the MameHooker INI game file. If a user gets a new light gun, then they must create or modify INI game files, for each game. This is redundant and not needed.
Hook of the Reaper includes the majority of supported light gun game files with the program. Also, all the game files are stored on this site. When I get all the game files done, then all supported light gun games will be include and stored on this site. When you install MameHooker, there are no INI game files included. And the user must find them, or create their own. Creating you own INI game files, can be dangerous towards your light gun. As the recoil solenoid could be damaged. Also, missed game features can happen, if a person doesn't know how to read the output signals. In the last 10 years, where there any public sites that stored all MameHooker INI game files for people to download?
The DefaultLG game files have features that MameHooker doesn't. With the 'Recoil & Reload' section, now multiple recoil methods can be supported in one game file. Where a RS3 Reaper could use 'Ammo_Value' recoil method, while an OpenFire could use the normal 'Recoil' method, from the same game file. Now light guns have priority for what recoil methods they want the most. Also, the new 'Options' section of game file, certain option can be controlled on a game base level. Both the 'Shake' command and 'Recoil_R2S' command, can be blocked using an option. First there is two setting. The first is equal or not equal. The second one is a value from 0 to 65,535. Then a 'Block_Signal' command is needed per player. Then the output signal's value, tied to 'Block_Signal' is used with the two settings. So, it is block signal's value equal/not equal to 0-65,535, then block the player's Shake or Recoil_R2S command.
Light Gun Features only on Hook of the Reaper
Display is setup automatically. If you have an Alien light gun, or an OpenFire light gun with a display, it will automatically display data to the screen. The user picks their priority from ammo or life, for when they both can be displayed. If only one can be displayed, then it will be. There is an option for OpenFire to display ammo and life together. Life can be displayed as a glyph or a line bar, and chosen by the user. Small life value or large life values, like 100%, will work with both options. A display refresh delay is needed for OpenFire light gun display, and not possible in MameHooker. For the Alien light gun, both digits works, and will display ammo or life. Were only one digit will work on MameHooker. There is Slow Mode, were it will cut the recoil rate in half, useful for the Alien light gun. There is an Ammo 0 delay for the Reaper light gun. This is needed to hold the slide back, when ammo is 0. There is a problem with full auto games holding the slide back. With the delay, the Reaper now holds the slide back for all full auto games, that use 'Ammo_Value' for recoil. Hook of the Reaper has a recoil command called 'Recoil_R2S', which converts rumble recoil to solenoid recoil. This make games like Alien 3 work like the arcade, and not possible with MameHooker.
Performance
Hook of the Reaper is coded in C++, while MameHooker is in Visual Basic. C++ can be 3x to 5x times faster than Visual Basic. Also, MameHoooker is about 10 years old, so it is an older version of Visual Basic. Hook of the Reaper is in multi-thread mode by default. It uses three threads to boost performance. I do the majority of checking, when the game file is loaded. Then this makes the game loop faster, as I don't have to check many things.
Safety
I am always watching to make things safer. For the RS3 Reaper, I have code to make sure that the 'Z0' command cannot be used multiple times in a row. This is the command to hold the slide back. And when the slide is being held back, Hook of the Reaper has it's own safety timer that is under 10s and programmable. If the timers timeout with no reload, then Hook of the Reaper, will stop holding the slide back. The Reaper light gun also has a 10s timer when the slide is being held back. I like to have redundancy, as that makes air travel very safe. When using the 'Recoil_Value' recoil method. This is when the output signal directly control the solenoid. When the signal is high, the solenoid has current and is open. When the signal is low, the solenoid has no current and is closed. If the solenoid is open for more than 200ms, then Hook of the Reaper, will close the solenoid, and block recoil for the rest of the game. The Alien light gun cannot do fast recoil, and can damage the solenoid. So I created Slow Mode, to reduce the recoil rate by half. These safety features are not found on MameHooker. Does MameHooker do any safety checks?
Longevity
MameHooker is private code, while Hook of the Reaper is an open source project. The code is stored on GitHub, and can be forked by anyone. With the GPL license, any forked project must stay open sourced. If something happen to me, someone can easily fork the code, and continue the work. Also, Hook of the Reaper, would not go 10 years without a recompile. Which will help to work on newer computers.
Light Gun Support
Hook of the Reaper supports the Ultimarc AimTrak light gun with recoil. It doesn't work with MameHooker. Soon, Hook of the Reaper will have support for the Sinden light gun. Were MameHooker cannot support the light gun.
Other Interfaces
Hook of the Reaper will soon have support for BlueToothLE and TCP Socket interfaces. This is to connect to the light gun in different ways. Currently, Hook of the Reaper support the serial port and USB HID, to connect to light guns. But BlueToothLE is needed for the Xena light gun. Then the TCP Socket interface for the Sinden light gun.
How to use Hook of the Reaper?
Start at the Tutorial page.
Who Wrote/Coded Hook of the Reaper
A man called 6Bolt