mamedev / mame

MAME
https://www.mamedev.org/
Other
8.06k stars 2.01k forks source link

Mechanized Attack misaligned/broken aiming #6452

Open superblobster opened 4 years ago

superblobster commented 4 years ago

In the light gun game Mechanized Attack, you cannot shoot near the right side of the screen, there's like an invisible wall. Notice the crosshairs on the right, and where the shots actually go https://imgur.com/vb8eZsT

When you shoot near the upper left, sometimes shots are teleported to the right side. Overall, the aim is poorly aligned with the crosshairs.

I thought this was a calibration mistake on my end, but Mechanized Attack lacks gun calibration in service mode (you can only look at it, you cannot correct it). Dozens of other light gun games work perfectly.

Gurudumps commented 4 years ago

This has been broken forever (i.e. 18 years). Even on release at 061 the shot never went to the far right side. Over time the cross-hair and shot has slowly been wandering to the point where now the cross-hair and in-game shot are rarely lined up together. Regardless, the in-game shot never went across to the full right edge of the screen. This (https://youtu.be/-na6kUhB5mQ?t=534) shows that the real thing does shoot at the far right side so the game was never fully play-tested from the beginning back in 2002.

superblobster commented 4 years ago

That's weird. I hope someone can take a look at it soon.

angelosa commented 3 years ago

There are many code smells in the driver: https://github.com/mamedev/mame/blob/master/src/mame/video/bbusters.cpp#L201 https://github.com/mamedev/mame/blob/master/src/mame/video/bbusters.cpp#L206 https://github.com/mamedev/mame/blob/master/src/mame/drivers/bbusters.cpp#L328 Additionally if I set_raw to common Alpha Denshi-based values and disable the gun input hack then crosshair in service mode has a linear X range of 0xffd8-0xd7. I wonder if we aren't just offset for specific sprite scales.