Difference between revisions of "Recoil"
(Added plain info, needs formatting) |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
==External Recoil Support== |
|||
Recoil Output Information provided by Hexxed |
|||
Recoil Output support was added to Sinden Driver Software in v2.08a (Released Sept2025) please ensure you are using the latest software [https://sindenlightgun.com/drivers/ Sinden Software] |
|||
{{Infoicon |1=Sinden Lightgun software can now read recoil outputs from MAME and DemulShooter using network outputs on port 8000. As DemulShooter is compatible with so many systems this gives wide coverage. SuperModel emulator is not yet integrated but should be added soon as it also has network outputs. Currently on Demulshooter I have only tested Model2, any quirks with other platforms should be easily solvable. Please note, if you have any instability this functionality is quite complex and would not be surprising if it causes some quirks, recreating issues and feeding back to contact@sindenlightgun.com would be appreciated. I will be creating more documentation on this and hopefully some videos after more testing and feedback. Please see ExternalRecoilOutputs.txt. |title=Release Note Extract}} |
|||
<br> |
|||
===Using Recoil Support=== |
|||
'''Use Cases''' |
|||
As you all know, Andy Sinden has included external recoil support in the latest Sinden release. That means that Sindens are now capable of having the emulator and/or game control the speed and timing of the recoil if you happen to own a Sinden Recoil lightgun. While this allows the recoil to better match the game, this is also dependent on whether the game/emulator supports that functionality. |
|||
# If creating your own game or software tool, you can send TCP messages to the Sinden software. Please see RecoilTcpServerReadme.txt in the Sinden Windows folder for more information on this. |
|||
# Talking direct to emulators or emulator tools. Please see ExternalRecoilOutputs.txt for more information on this. |
|||
<br> |
|||
'''Currently supported/tested emulators and tools are:''' |
|||
* MAME |
|||
Thankfully, Argon (Demulshooter dev) provided some sample Mame Model 2 lua scripts so others could start creating their own lua scripts and share with the community. |
|||
* SuperModel3 - Untested but believe it works |
|||
Hook of the Reaper by 6Bolt (https://github.com/6Bolt/Hook-Of-The-Reaper) is a middleman app that now works with the latest Sinden update however the Mame lua scripts it uses seem to be hard for everyone to find. Here are the ones I've found and have permission to repost. I'm posting them here for everyone to use for their own systems. I haven't written them, tested them or set up HOTR (Hook of the Reaper) to work with them as my Sindens have custom recoil/rumble and won't work with it natively. |
|||
* Demulshooter (covers many emulators) |
|||
They have all been based on the Mame Model 2 sample files originally provided by Argon (Demulshooter dev). The included files are by Argon and FatherOfDucksAndMonkees plus updates to Area51 and Carnevil thanks to DiablosMatrix. |
|||
* Hook Of The Reaper (covers many emulators) |
|||
These lua scripts aren't solely for HOTR so, if you have other lightguns and are already using something like MameHooker or QMameHook, then chances are they should also work with your setup with some minor tweaking. |
|||
==Intro== |
|||
There is a readme file in 2 of the archives so if you have questions, make sure to read them. If you have questions about how to setup HOTR, here is the main tutorial page. It also contains a section on setting up Sindens with the app. https://hotr.6bolt.com/pmwiki.php/Tutorial/Tutorial |
|||
'''What this means'''<br> |
|||
Sindens are now capable of having the emulator and/or game control the speed and timing of the recoil if you happen to own a Sinden Recoil lightgun. While this allows the recoil to better match the game, this is also dependent on whether the game/emulator supports that functionality. |
|||
Have fun people and feel free to post any updates or additions to this list so others can benefit from your findings. This is all pretty new to everyone so support is minimal. Happy shooting! |
|||
<br> |
|||
===What's Needed=== |
|||
Example Files |
|||
* Emulator/Program with Output support |
|||
[https://drive.google.com/drive/folders/15oTHcOWCxnwrLb0iHWCEfuC1Wr0QIy7E Thatman84 GDrive] |
|||
** MAME |
|||
** DemulShooter |
|||
* Output Reading Software |
|||
** MAME Hooker |
|||
** QMameHook |
|||
** Hook of the Reaper (HOTR) |
|||
** OutputHooker |
|||
* Game Scripts/Settings |
|||
==LUA Scripting== |
|||
===LUA Info=== |
|||
Helpful Links |
|||
LUA is a programming language utilised by MAME/Model2Emu and other programs to add customization and functionality<br> |
|||
* [https://docs.mamedev.org/luascript/index.html MAMEDev implementation] |
|||
* [https://www.lua.org/ lua.org] |
|||
<br> |
|||
===Why Gun Games Need LUA=== |
|||
[https://github.com/6Bolt/Hook-Of-The-Reaper Hook-Of-The-Reaper]<br> |
|||
<br> |
|||
As the light gun community is already aware, some MAME ROMs/games do not support native state output, which prevents tools like Mamehooker or Hook of The Reaper from understanding game events for force feedback (such as recoil or rumble). In these instances, LUA scripts are needed to enable state outputs (or enhanced state outputs with statistics/counters). |
|||
[https://hotr.6bolt.com/pmwiki.php/Tutorial/Tutorial Hoot Of The Reaper Tutorial] |
|||
<br> |
|||
For example, most games will have a memory address for an ammo magazine that decreases with each shot fired, but if there is no ammo magazine in the game then the game logic may increase ammo values with every shot fired infinitely, <br> |
|||
[https://github.com/djGLiTCH/MAME-LUA-SCRIPT-STATE-OUTPUTS djGLiTCH MAME LUA Script Repo] |
|||
so simply changing AMMO_DIRECTION = "increase" will ensure the RECOIL logic correctly triggers in the correct ammo direction. Settings like this help to maximise compatibility across games with little effort being required by the end user in making things work, and will typically only require four key memory addresses:<br> |
|||
* Credits |
|||
* Game Status* (fallback logic exists if this is missing) |
|||
* Ammo |
|||
* Life |
|||
<br> |
|||
==Downloads and Links== |
|||
====Community LUA Scripts==== |
|||
Thankfully, Argon (Demulshooter dev) provided some sample Mame Model 2 LUA scripts so others could start creating their own LUA scripts and share with the community.<br> |
|||
The below scripts are all based on the Mame Model 2 sample files originally provided by Argon (Demulshooter dev) and intended for use with HOTR. The included files are by Argon and FatherOfDucksAndMonkees plus updates to Area51 and Carnevil thanks to DiablosMatrix. |
|||
{{Infoicon |1=These lua scripts aren't solely for HOTR so, if you have other lightguns and are already using something like MameHooker or QMameHook, then chances are they should also work with your setup with some minor tweaking. |
|||
|title=Release Notes}} |
|||
There is a readme file in 2 of the archives so if you have questions please '''read them'''<br> |
|||
[https://drive.google.com/drive/folders/15oTHcOWCxnwrLb0iHWCEfuC1Wr0QIy7E LUA Scripts (Hosted by Thatman84)]<br> |
|||
[https://github.com/djGLiTCH/MAME-LUA-SCRIPT-STATE-OUTPUTS djGLiTCH LUA Script Repo Project] |
|||
<br> |
|||
==Output Software== |
|||
===HOTR=== |
|||
[https://hotr.6bolt.com/ Hook of the Reaper HomePage]<br> |
|||
[https://github.com/6Bolt/Hook-Of-The-Reaper Hook of the Reaper GitHub] <br> |
|||
[https://hotr.6bolt.com/pmwiki.php/Tutorial/Tutorial Hook Of The Reaper Tutorial] |
|||
<br> |
|||
===QMAMEHook=== |
|||
[https://github.com/SeongGino/QMamehook QMAMEHook GitHub] |
|||
<br> |
|||
===OutputHooker=== |
|||
[https://github.com/PolybiusExtreme/OutputHooker OutputHooker GitHub] |
|||
<br> |
|||
===MAME Hooker=== |
|||
[http://dragonking.arcadecontrols.com/static.php?page=aboutmamehooker MAME Hooker Web Site]<br> |
|||
[https://dragonking.arcadecontrols.com/files/mamehooker5.1.rar MAME Hooker 5.1 Release 2014] |
|||
[[Category:3rd Party Tools]] |
|||
Latest revision as of 18:04, 3 April 2026
External Recoil Support
Recoil Output support was added to Sinden Driver Software in v2.08a (Released Sept2025) please ensure you are using the latest software Sinden Software
Using Recoil Support
Use Cases
- If creating your own game or software tool, you can send TCP messages to the Sinden software. Please see RecoilTcpServerReadme.txt in the Sinden Windows folder for more information on this.
- Talking direct to emulators or emulator tools. Please see ExternalRecoilOutputs.txt for more information on this.
Currently supported/tested emulators and tools are:
- MAME
- SuperModel3 - Untested but believe it works
- Demulshooter (covers many emulators)
- Hook Of The Reaper (covers many emulators)
Intro
What this means
Sindens are now capable of having the emulator and/or game control the speed and timing of the recoil if you happen to own a Sinden Recoil lightgun. While this allows the recoil to better match the game, this is also dependent on whether the game/emulator supports that functionality.
What's Needed
- Emulator/Program with Output support
- MAME
- DemulShooter
- Output Reading Software
- MAME Hooker
- QMameHook
- Hook of the Reaper (HOTR)
- OutputHooker
- Game Scripts/Settings
LUA Scripting
LUA Info
LUA is a programming language utilised by MAME/Model2Emu and other programs to add customization and functionality
Why Gun Games Need LUA
As the light gun community is already aware, some MAME ROMs/games do not support native state output, which prevents tools like Mamehooker or Hook of The Reaper from understanding game events for force feedback (such as recoil or rumble). In these instances, LUA scripts are needed to enable state outputs (or enhanced state outputs with statistics/counters).
For example, most games will have a memory address for an ammo magazine that decreases with each shot fired, but if there is no ammo magazine in the game then the game logic may increase ammo values with every shot fired infinitely,
so simply changing AMMO_DIRECTION = "increase" will ensure the RECOIL logic correctly triggers in the correct ammo direction. Settings like this help to maximise compatibility across games with little effort being required by the end user in making things work, and will typically only require four key memory addresses:
- Credits
- Game Status* (fallback logic exists if this is missing)
- Ammo
- Life
Downloads and Links
Community LUA Scripts
Thankfully, Argon (Demulshooter dev) provided some sample Mame Model 2 LUA scripts so others could start creating their own LUA scripts and share with the community.
The below scripts are all based on the Mame Model 2 sample files originally provided by Argon (Demulshooter dev) and intended for use with HOTR. The included files are by Argon and FatherOfDucksAndMonkees plus updates to Area51 and Carnevil thanks to DiablosMatrix.
There is a readme file in 2 of the archives so if you have questions please read them
LUA Scripts (Hosted by Thatman84)
djGLiTCH LUA Script Repo Project
Output Software
HOTR
Hook of the Reaper HomePage
Hook of the Reaper GitHub
Hook Of The Reaper Tutorial