argonlefou / DemulShooter

Enable dual lightgun play in arcade games and emulator
104 stars 14 forks source link

Operation Wolf Return - Gun4IR - DemulShooterX64 v11.4.0.0 #187

Closed Aynshe closed 4 months ago

Aynshe commented 6 months ago

Hi,

I have two Gun4IRs, the "in game and for both players" pointer remains locked in the lower left corner, however it works perfectly in the menu and I can select without seeing the windows cursor.

I tried to load DemulShooterX64.exe -target=windows -rom=opwolfr before or after in vain. The light turns green.

I also have Output mode enabled because I already use demulshooter/mamehook for demul/flycast, TP and compatible Windows games and it works fine.

;)

Debug_2024-01-01_03-25-39.txt

(for information, I wrote scripts (far from being professional and perfect) for ES under retrobat (discord retrobat available) in order to automate the loading of demulshooter/mamehook for compatible emulators (flycast and demul basically) integrated into retrobat including teknoparrot and compatible windows games.).

Originally posted by @Aynshe in https://github.com/argonlefou/DemulShooter/issues/165#issuecomment-1873115718

argonlefou commented 6 months ago

Hi,

I have two Gun4IRs, the "in game and for both players" pointer remains locked in the lower left corner, however it works perfectly in the menu and I can select without seeing the windows cursor.

The game is using different input mechanics in-menu and in-game. I can only modify in-game input handling, whereas in-menu is scripted/hardcoded in the binary and is directly using mouse cursor. That's why you can have it working always in the menu, and that's why positional gun users may have issue in the menu, as specified in the wiki

I tried to load DemulShooterX64.exe -target=windows -rom=opwolfr before or after in vain. The light turns green.

I also have Output mode enabled because I already use demulshooter/mamehook for demul/flycast, TP and compatible Windows games and it works fine.

Thanks for the Debug file. Everything is good at start: game detection, binary version, demulshooter configuration, and communication with the Unity plugin initiated successfully But for some reason the communication with the plugin stopped working ~10 seconds after the game started.

Communication with the Unity pluggin is based on a simple local network socket, which becomes unavailable for some unknown reason.... This is something I never ran into, and it may be caused by either some OS things, antivirus, firewall, unity plugin failure or demulshooter bug

Not beeing able to reproduce that....you'll have to find what causes the socket to crash.

You can try to disable Outputs (this will remove traffic and use of the socket and lessen reasons to crash it)

Or, also, to start moving the gun only once a level has started (you should be able to navigate the menu with keyboard or simple mouse) By seeing if the cursor is moving before stopping...it can be a hint to know if the crash is hapening at start, after some moves, or after a fixed delay

Aynshe commented 6 months ago

Hi,

Thank you for the answer.

I only have the basic Windows 10 antivirus, the firewall as well. I tried by deactivating the output and saving all the game and demulshooter files in antivirus exclusion, without result.

For information, the games WildWestShoutout and Night Hunter work correctly.

I don't know where to look to find a solution.

"apart from this problem, congratulations for all your work around the lightgun ;)"

argonlefou commented 6 months ago

Wild West, Night Hunter and all other older games are using different communication system with Unity, but I have been looking for a change for a long time because of various technical reasons.

Looking at your first debug file, this is not something you can find right away.... but if I had this kind of issue, I would try to shrink down what can cause it : You'll have to run DS/Op wolf multiple times, trying different things. Like I said, my first try would be to run DS and the game without touching the guns at all, before the gameplay level has started (use a mouse or keyboard to navigate in the menus)

That way, you can see if the cursor is moving a little before stopping : thus knowing if the issue happens after a certain number of data exchanged between DS and the game, or if the crash happens right away with the first set of command

For that the DS debug file will be helpfull by telling of the commands are succesfully sent to the game or not.

Another thing you can try, is running DS with outputs activated and with the -noinput option in the command line : you should be able to play the game with a mouse and you can verify with MAMEHooker window (or even your plugged guns) that outputs are working fine. This would be a way to test the DS<->game communication when DS is not spamming data to feed gun positions

And on top of all of that, if needed, there is another step to try : I'll give you a way to get some debug file from the unity plugin itself

Aynshe commented 6 months ago

Hi,

Here are two logs, the first using the mouse/keyboard to start the game, I waited and only then aimed with the Gun4IR. I didn't see the cursor move and it was already in the lower left corner.

Second log, with -noinput, same principle and same result.

Debug_2024-01-02_16-17-22.txt Debug_2024-01-02_16-19-44.txt rustdesk_2024-01-02_16-22-25

Aynshe commented 6 months ago

mise à jour, finalement concernant le soucis du socket, c'est lié à Rerobat....j'avais oublié mais il y a un portail intégré qui utilise le même port....

03:26:05.186655 : Une demande de connexion a été effectuée sur un socket déjà connecté
03:26:05.186655 : Game Position (Dec) = [ 1106, 438 ]
03:26:05.186655 : Ds_TcpClient.Listener(): Error trying to connect to 127.0.0.1:1234

Toutefois, bien que retrobat fermé, je ne peux toujours pas faire fonctionner le gun. j'ai généré deux log l'un avec -noinput et sans gun branché et l'autre sans -noinput et avec le guns branché

Debug_2024-01-06_02-52-06.txt Debug_2024-01-06_02-58-33.txt

Aynshe commented 4 months ago

Update : j'ai remis la main sur la borne, donc j'ai testé avec la tête fraiche.

Le gun ne fonctionne pas en mode solo/tuto et survie, mais le mode multi fonctionne parfaitement à deux guns.

Aynshe commented 4 months ago

Je ferme, j'ai compilé DS et plugin avec un autre port : 127.0.0.1:12345 au lieu de 1234 pour ne pas faire conflit avec le serveur http interne de retrobat.

😄

argonlefou commented 4 months ago

C'est justement modifié dans la MAJ v12.0 que je viens de pusher ;) C'est le port 33610 qui est utilisé maintenant

Aynshe commented 4 months ago

C'est justement modifié dans la MAJ v12.0 que je viens de pusher ;) C'est le port 33610 qui est utilisé maintenant

Magnifique ! :)