Main > Main Forum

Calling all controller experts... (strange MAME mouse issues)

<< < (3/3)

Shoegazer:
Ok Robin, get ready for some insanely stupid questions from someone who is not totally in the groove with what you are saying...       ok ready?

Pretend you are in a real arcade, and you start playing a real lightgun game, say Area 51.  When you want to reload off-screen, you are pressing the *trigger* (MAME would typically assign this to button 0) as you aim the gun outside of the visible playing area.  So why on earth would MAME want to do anything so hacky as to simulate this condition by forcing a mouse button to act this way?  It's not exactly simulating reality, especially if you don't even really have to aim the gun off-screen to reload.  Assuming this is what you mean, then at least I understand what is going on a little better. 

In my world of obviously limited understanding, I'm imagining that it shouldn't be so hard to simply make MAME recognize that anytime button 0 is pressed outside of the visible playing area, emulate this condition using whatever instructions were provided to the original game CPU when this happened in the real game.  Naive question for sure, but hey - I did warn you.

By the way, you were right about the mouse buttons in previous postings being borked - I'm pretty sure they were all buttons 0 and 1.  Sorry for the confusion.

Slightly off-topic - shouldn't there be a way with MAME .112 to turn crosshairs off by default, without doing something like creating transparent bitmaps?  I could do this, but I think a solution involving a command flag would be more elegant. 

Thanks again for your help, Robin.

Shoegazer

u_rebelscum:

--- Quote from: Shoegazer on February 16, 2007, 08:10:03 pm ---Ok Robin, get ready for some insanely stupid questions from someone who is not totally in the groove with what you are saying...       ok ready?

Pretend you are in a real arcade, and you start playing a real lightgun game, say Area 51.  When you want to reload off-screen, you are pressing the *trigger* (MAME would typically assign this to button 0) as you aim the gun outside of the visible playing area.  So why on earth would MAME want to do anything so hacky as to simulate this condition by forcing a mouse button to act this way? 
--- End quote ---

If the PC lightguns acted like arcade guns, mame wouldn't need the hack.  But they don't, so mame does.   :(

With PC lightguns, when you pull the trigger while pointing off screen, the lightgun sends the windows a second button press with the last onscreen location the trigger was pulled.  This (AFAIK) is done in the PC lightgun's hardware, far before the input gets to mame.  The hack in mame un-does what the PC lightgun does, to simulate the real arcade lightguns.

BTW, that behavior is a bug "feature" of all PC lightguns AFAIK.


--- Quote ---By the way, you were right about the mouse buttons in previous postings being borked - I'm pretty sure they were all buttons 0 and 1.  Sorry for the confusion.
--- End quote ---

No problem.  It threw me for a little while.  Ya, that's my excuse on why I didn't think of the cause myself. ;)


--- Quote ---Slightly off-topic - shouldn't there be a way with MAME .112 to turn crosshairs off by default, without doing something like creating transparent bitmaps?  I could do this, but I think a solution involving a command flag would be more elegant. 
--- End quote ---

Aaron has a dislike for too many options.  [shrug]  In coding (the little I do), I agree; too many options makes it that much easier for someone to mess it up, harder to up keep, etc.  OTOH, as a power user, it would be nice to be able to set anything to anything I wanted (which is why I like messing at the code).
There are a few ways you can get around the crosshairs thing.  The easiest is just pressing F1 at the start of each game. :-\  Almost as easy, and do once and forget it too, is the transparent pngs you mentioned. 
Or you can edit the source and recompile.  If you know you don't want crosshairs ever, just go into the drivers folder and delete all "PORT_CROSSHAIR(*,*,*,*)", where those '*'s are anything except ',' or ')', aka "comma" and "right parenthesis" respectively. Or if you just want to change the default, edit line 1200 in src/emu/video.c to "crosshair_visible = 0;".

Shoegazer:
I see now.  So with the MAME "offscreen shots reload" feature turned on, you have to press Mouse button 1 in order to reload, rather than fire.. right?  I ask this because, the only way I can get Lethal Enforcers to reload in the game is to turn this feature on, and even then, firing off-screen doesn't really reload - only pressing Mouse button 1 reloads.

Stranger still, Area 51 doesn't need this feature turned on at all - I simply aim off-screen and fire, and it works 100%.  Maybe representative of differences in the gun hardware or controller boards in the arcades?

Thanks for the tips re: crosshairs.  Hey, at least I know there IS no command flag.  It would just be nicer if Aaron were a bit more friendly to cab owners since it isn't as easy to press F1 as when you're sitting right there with the keyboard in front of you.  I've mapped it to a mouse button, but it's a pain to turn them off every time.

Shoegazer

Derrick Renaud:

--- Quote from: Shoegazer on February 19, 2007, 09:10:41 am ---Thanks for the tips re: crosshairs.  Hey, at least I know there IS no command flag.  It would just be nicer if Aaron were a bit more friendly to cab owners since it isn't as easy to press F1 as when you're sitting right there with the keyboard in front of you.  I've mapped it to a mouse button, but it's a pain to turn them off every time.

--- End quote ---

I thought it remembered  the crosshair visual state next time you played.  It was supposed to.

D.

Shoegazer:
Derrick, I sincerely wish it were, it's not working that way for me... so I suppose it's either something I'm doing wrong, or it needs to be reported to MAMEtesters..

Shoegazer

Navigation

[0] Message Index

[*] Previous page

Go to full version