Re: [hatari-devel] IKBD_Cmd_SetMouseScale in the game "The Sentinel"

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

I've tested rainbow II multimedia (winuae CPU).
It's really much better with the patch :
The mouse goes perfectly from the upper to the bottom of the screen, that's really good. For the left/right movement, there's still a little problem : the mouse doesn't go to the extrem right of the screen, it goes out a bit before (a precision problem ?).
The patch is good for rainbow 2.

For crown of creation (oldCPU), the problem seems to persist on the X axis of the mouse (the Y axis is useable).

Best regards

Laurent



Le 26/05/2013 18:22, Nicolas Pomarède a écrit :
On 26/05/2013 16:28, Eero Tamminen wrote:
Hi,

On sunnuntai 26 toukokuu 2013, Nicolas Pomarède wrote:
But you can check yourself, run : "hatari --trace ikbd_all 2>log"
then "grep IKBD log" to see how the program accesses the keyboard.

TOS startup + Spectrum 512:
-------
$ grep IKBD ikbd.log | grep -v IKBD_Cmd_ReadAbsMousePos
IKBD_Cmd_Reset VBLs=8 framecyc=72956
IKBD_Cmd_RelMouseMode
IKBD_Cmd_SetMouseThreshold 1,1
IKBD_Cmd_SetYAxisUp
IKBD_Cmd_MouseAction 0
IKBD_Cmd_AbsMouseMode 638,398
IKBD_Cmd_SetMouseScale 2,2
IKBD_Cmd_SetYAxisUp
IKBD_Cmd_MouseAction 0
IKBD_Cmd_SetInternalMousePos 320,200
-------

And drawing program reads the mouse with ReadAbsMousePos().

-> ikbd.diff fixes the mouse issue with it.

That's good news (I didn't check spectrum512 before).



However, Spectrum 512 has also regressed, the color bands on the background go diagonally across the screen. I think that would need to be fixed before
release.

That's not an emulation issue. Spectrum 512 needs to be started in 60 Hz, not 50 Hz (it doesn't change freq itself, I don't know why). You can try with a US or UK TOS that sets freq to 60 Hz.

I will update release note / compatibility files for these (I will commit it later to main source tree, I have pending changes to finish before)



    - Eero

PS. Maybe Hextracker should use IKBD mouse scaling too,
instead of (apparently) doing it manually?



I don't think so. You get much better control by getting relative mouse changes instead of absolute ones. With rel changes, you can scale delta X/Y yourself if you want in your program, but you can also do more interesting effects, like adding acceleration to the mouse pointer if deltaX/Y remain high for a determined period of time (as available in Windows or KDE for example)


Nicolas








Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/