-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2-players lightgun games #180
Comments
It's been some time since I worked on the lightgun. There is a bug in the implementation that needs to be worked on but I had thought that 2 player was working. I'll have to investigate. Do make sure that the controller player count is greater than 1 in the settings. |
Many thanks for the info Trapexit. |
Cool thanks a lot for this report, i will try too. I'm also working for now on Gun configuration for all my emulators :) |
Is there anyway to get the libretro crosshair a little bigger? It is a tiny blue dot for me. |
No. Not currently. IIRC it's a 5 pixel crosshair. Something to just get a sense of where you were. I just mimicked some other core when I wrote it. It is more intended for those mouse based lightguns where you wouldn't be using them. This is using a normal mouse? For games without mouse support? |
Thanks. Sorry to hijack, I'll look around in lr_input_crosshair.* and see if I can make it bigger than 5 pixels. I don't mind compiling my own. I am using it on an arcade setup with a mayflash/wii lightgun. Just starting to use this core, so only tried a couple games and not all the lightgun options. For the couple games I tried, the game crosshair only updates when I hit the trigger, thus the need for bigger crosshair. The wii lightgun is not accurate enough to shoot without it. |
Hi! Sorry to insist, could you to take a look at this, @trapexit? |
I will. I've been busy with other 3DO development. The 3DO dev community is very small and I maintain a large portion of the projects. Only have so many cycles... but it's on my todo. |
Thanks a lot. |
Yes i know, but some time it help if the gun is not fine configured. |
Do you have a core that does what you're talking about so I can use it as reference? |
lr-mame, lr-mame2003, nestopia, fceumm have it. |
Nestopia can be a good exemple for you |
The best examples for crosshairs are SNES9X and Genesis Plus GX cores. They are just perfect with the correct color and visibility. |
They do pretty much what I do just with black and white and likely bigger. |
Yes, I guess there are not 50 possible methods. Yours works overall well, for me the most embarrassing thing is not having a CROSS on the screen to aim, like with the others, it should be optional if possible. Thanks |
Sure, optional is fine. I didn't make it optional because it was added before mouse based guns became more popular and didn't need them. I'm just trying to get a preferred style. Provide similarity with another core. |
Hello, I wish I could help more with this issue, but I did notice something in this YouTube video. The user is controlling player 1 (left) using the mouse/gun assigned to port 1 (blue crosshair). For me with lr-opera, the port 1 gun controls player 2 (right) in SAOT, and I am unable to control player 1 at all (just like someone else mentioned above). The most recent changes to the lightgun code were the reload adjustments I made last year, but those should not have affected this behavior at all. Just throwing this out there in case it gives a hint to a solution for 2-player SAOT. |
Wishes do come true sometimes 😆 #185 |
I discovered something interesting... currently opera-libretro writes 4 bytes, while portfolio_os reads 5 bytes ! I tried modifying opera-libretro to 5 bytes with a zero, and in games when pulling the trigger the screen would flash but no hits... so I set it to one instead and it works as usually. I suspect that means the lightgun hit a scanline on the screen. I suspect though this is why there may be issues with having a lightgun and a second lightgun/controller at the same time. |
Yes, I've mentioned somewhere that the version of the code implementing the lightgun in Opera is wrong. It was RE'ed in place before I got a signal analyzer and got OS code. I document all the details https://3dodev.com/documentation/hardware/opera/pbus |
@Codes4Fun Hey, I actually got all 2-player lightgun features working for every NTSC console and arcade game (didn't test PAL) and also fixed the offscreen-reloading behavior in Mad Dog McCree and Space Pirates. I made core options to manually set offsets so that you don't have to calibrate. I figured my changes were not what was desired upstream, and I don't really have a full understanding of why it works, so I didn't try submitting as a pull request. But this makes everything playable from what I can tell. I haven't seen anything breaking happen. I called it a "hacks" branch because I figured that's exactly what I made 😆 Hopefully, there is something useful in the link for others to use and fix up the lightgun implementation here. https://github.com/StormedBubbles/opera-libretro/tree/hacks |
@StormedBubbles That's awesome ! I do see a potential overflow bug, the buffer size check wasn't updated to 5 for both functions: I'll try it out ! |
@StormedBubbles I came across this trying to find a solution for 2 player light gun support. I am mostly an end-user and know very little about coding, just simple configs and scripting. I did download your opera-hack but do not know how to compile it? I was hoping to simply download a modified opera_libretro.dll file for Win10. Any suggestions or tips would be appreciated! |
Hey, you can compile this using the same instructions as for MAME. Those are the clearest instructions I could find out there on the web. I compiled it for Windows 11 64-bit and tested the result on my Windows 10 64-bit laptop. It seems to operate fine. I can't seem to post a dll here natively, so here's a link to download what I compiled: https://pixeldrain.com/u/Hf3CCHfN This contains the various lightgun edits I made for my own build on top of the latest upstream source from the main branch here. I want to reiterate that I do not know how to properly fix the lightgun system and that I happened to find through trial-and-error something that appears to work for me. My hope is that someone nabs the good parts of these edits and does a more accurate take on emulating the lightgun functionality of the 3DO and its derivative arcade hardware. I think VLDP Pixel Format = XRG8888 and having 2 input devices active are the only changes to default core options I made on my system (I use a Raspberry Pi 5). Other than that, you should just have to enable the 3DO Lightgun (Arcade Lightgun for Shootout at Old Tucson and Mad Dog 2: The Lost Gold [arcade version]) for each player, have the appropriate BIOS, enable the "raw" input driver if using Windows, set your mouse indices, and have at it. For my own convenience, I added manual offset adjustments to the core options so that I wouldn't have to calibrate every game every time. |
Ok I will try this out, originally I do have the 1 lightgun working as the 2nd player with the official core. Would be nice to get this merged into the official for all the lightgun users out there as we always try to get the most possible gun games working correctly. Thanks for the good info and modified core! |
Hi! Is this possible? I have read it is currently not working.
There are some 3do 2-player games but especially Shootout at old Tucson would be amazing to play with a friend.
Thanks
The text was updated successfully, but these errors were encountered: