20191106.2227 works ok 20191112.2338 works ok v1.5 gamepad moves jerky when going up/dwon.
It looks like your devices have (also) analogue controls. Are they properly calibrated? Do you have the option to disable them and use the digital controls only?
RETREAM - retro dreams for Amiga, Commodore 64 and PC
I guess that the Y axis of (at least) one of the analogue sticks is sending jittering data. You should check that they are properly calibrated and send a stable 0 signal when not in use. Maybe the AmigaInput preferences could help with that (I don't know, as I don't have a device with analogue controls). Also, are you using them or the D-pad?
RETREAM - retro dreams for Amiga, Commodore 64 and PC
13 hours ago somebody paid a huge amount for Blastaway, matching the highest payment ever made for any of my games! The visits and the payments for Blastaway (and the same goes for all my games) are so scarce that I guess the generous user must be somebody from here, so... thank you so much!
RETREAM - retro dreams for Amiga, Commodore 64 and PC
Using AmigaInput prefs test shows ok, no jitter of sticks.
using SDL gamecontroller for calibarting (took me a while) and then using testgamecontroller ok too. I'll update my re-calibrated joypad to SDL/SDL2 github ASAP.
Using AmigaInput prefs test shows ok, no jitter of sticks.
using SDL gamecontroller for calibarting (took me a while) and then using testgamecontroller ok too. I'll update my re-calibrated joypad to SDL/SDL2 github ASAP.
I have no idea what SDL gamecontroller and testgamecontroller are. Did you try with the D-pad? If so, does anything different happen? What happens if you don't touch any control?
It looks like your problem is related to the workaround I have added to have digital controls work under Windows. More precisely, Windows (sometimes?) reports and handles digital controls as analogue (I have verified this personally) and SDL eventually spits out these values: * up or left: $8000 (-32768 if seen as a signed integer); * down or right: $7fff (32767 if seen as a signed integer);
So I have added this handler for the axes (analogue directions) events reported by SDL:
d = event->jaxis.value;
if (event->jaxis.axis)
{
if (d == 0x8000)
{
PushMovement(SD_U);
}
else if (d == 0x7fff)
{
PushMovement(SD_D);
}
else
{
PopMovement(SD_U);
PopMovement(SD_D);
}
}
else
{
if (d == 0x8000)
{
PushMovement(SD_L);
}
else if (d == 0x7fff)
{
PushMovement(SD_R);
}
else
{
PopMovement(SD_L);
PopMovement(SD_R);
}
}
}
It does the same thing for both the horizontal and vertical axes, so, given that you're having problems only with the vertical movement, something must happen somewhere between your device and SDL. From the behaviour you described and the code, I guess that SDL, for the vertical axis, is (often/constantly) returning values other than $8000 and $7fff.
Unfortunately I can't offer any further help as I no longer have a working AmigaOS 4 machine, neither have I an analogue controller - and, on top of that, I don't have time to dedicate to development at the moment (and it's been so since quite a few months, i.e. after the release of Ring around the World).
@328gts
:)
RETREAM - retro dreams for Amiga, Commodore 64 and PC
One more generous payment arrived, so once again I guess it's somebody from here - thanks a bunch!
@MartinW
:)
@jabirulo
Quote:
tested under windows 7 (the .zip not the installer version).
Plugged the gamepad and without calibrating launched Blastaway.exe and up/down works fine, doesn't get stuck, player moves smoothly
Thanks for the test and the report! Given that the Blastway code is identical for both Windows and AmigaOS, that tells us that: a. the joypad hardware is OK; b. the Blastaway code is OK; c. the problem must be in the SDL library that the AmigaOS version of Blastway is linked to (1.2.13) or... d. ... in the AmigaOS/AmigaInput drivers and/or in their configuration. Since nobody reported this issue before (and, as far as I remember, controllers issues in general, other than the aforementioned issue caused by Windows) relatively to my games (Blastaway, BOH, Huenison and KOG), which all use the same code base and SDL library, I suspect that the problem is d.
If you have the SDK installed, you could try to build Blastaway against an alternative version of SDL as follows: 1. download the objects archive from https://www.retream.com/Blastaway/othe ... away-AmigaOS-objects.lha; 2. unpack the archive somewhere; 3. replace libSDL.a with another static version of SDL of your choice; 4. run make. Then, put the resulting executable in the Blastaway directory and run it. Note: I can't offer support if for whatever issue (dependencies, memory faults, etc.) you might stumble upon.
RETREAM - retro dreams for Amiga, Commodore 64 and PC
Well deserved donations for sure! Blastaway is ace! Would be cool to see more for AmigaOS 4 from you in the future. Maybe QEMU is an alternative if you don't have a compatible computer? Keep up the great work!