Sfasamento puntatore LightGun AimTrak con giochi 4:3 su schermi 16:9
Inviato: 11/12/2022, 16:03
Ciao
Non so in quanti abbiamo delle LightGun AimTrak, e non so se questo comportamento c'è anche con altre LightGun, ma in breve ho il problema descritto qui: https://mametesters.org/view.php?id=6491
In breve, con i giochi 4:3 la posizione del puntatore della LightGun se mi trovoal centro dello schermo coincide con la posizione del puntatore del mouse, controllato anch'esso dalla LightGun, ma se mi sposto a destra o sinistra, il puntatore del mouse inizia progressivamente a discostarsi dal crosshair della LightGun, fino a far arrivare il puntatore del mouse al bordo del televisore mentre il crosshair è sul bordo dell'immagine 4:3
Sperando di essermi riuscito a spiegare, il problema pare che non si riesca a risolvere fintanto che qualche MAME dev in possesso di una AimTrak non riesca a guardarci.
Essendo passati molti anni senza avanzamenti, ho provato a scaricarmi i sorgenti e penso di aver identificato il problema nel file \src\mame\src\osd\modules\input\input_rawinput.cpp alle righe 408 e 409 dove viene calcolata la posizione:
lightgun.lX = normalize_absolute_axis(rawinput.data.mouse.lLastX, 0, osd::INPUT_ABSOLUTE_MAX);
lightgun.lY = normalize_absolute_axis(rawinput.data.mouse.lLastY, 0, osd::INPUT_ABSOLUTE_MAX);
Non sono però riuscito ad andare molto avanti.
C'è qualcuno di voi con maggiori skill di programmazione dei miei, e magari un po' di conoscenza dei sorgenti del MAME, che potrebbe darmi una mano?
Grazie in anticipo a tutti
Non so in quanti abbiamo delle LightGun AimTrak, e non so se questo comportamento c'è anche con altre LightGun, ma in breve ho il problema descritto qui: https://mametesters.org/view.php?id=6491
In breve, con i giochi 4:3 la posizione del puntatore della LightGun se mi trovoal centro dello schermo coincide con la posizione del puntatore del mouse, controllato anch'esso dalla LightGun, ma se mi sposto a destra o sinistra, il puntatore del mouse inizia progressivamente a discostarsi dal crosshair della LightGun, fino a far arrivare il puntatore del mouse al bordo del televisore mentre il crosshair è sul bordo dell'immagine 4:3
Sperando di essermi riuscito a spiegare, il problema pare che non si riesca a risolvere fintanto che qualche MAME dev in possesso di una AimTrak non riesca a guardarci.
Essendo passati molti anni senza avanzamenti, ho provato a scaricarmi i sorgenti e penso di aver identificato il problema nel file \src\mame\src\osd\modules\input\input_rawinput.cpp alle righe 408 e 409 dove viene calcolata la posizione:
lightgun.lX = normalize_absolute_axis(rawinput.data.mouse.lLastX, 0, osd::INPUT_ABSOLUTE_MAX);
lightgun.lY = normalize_absolute_axis(rawinput.data.mouse.lLastY, 0, osd::INPUT_ABSOLUTE_MAX);
Non sono però riuscito ad andare molto avanti.

C'è qualcuno di voi con maggiori skill di programmazione dei miei, e magari un po' di conoscenza dei sorgenti del MAME, che potrebbe darmi una mano?

Grazie in anticipo a tutti