a bit hacky but if anybody needs it:
Code:
#define joy_dpad_up (joy_hat != -1 && (joy_hat < 67.5 || joy_hat > 292.5))
#define joy_dpad_down (joy_hat != -1 && joy_hat > 112.5 && joy_hat < 247.5)
#define joy_dpad_left (joy_hat != -1 && joy_hat > 202.5 && joy_hat < 337.5)
#define joy_dpad_right (joy_hat != -1 && joy_hat > 22.5 && joy_hat < 157.5)

#define joy2_dpad_up (joy2_hat != -1 && joy2_hat < 67.5 || joy2_hat > 292.5)
#define joy2_dpad_down (joy2_hat != -1 && joy2_hat > 112.5 && joy2_hat < 247.5)
#define joy2_dpad_left (joy2_hat != -1 && joy2_hat > 202.5 && joy2_hat < 337.5)
#define joy2_dpad_right (joy2_hat != -1 && joy2_hat > 22.5 && joy2_hat < 157.5)

the only problem left is that gamepads without a d-pad seem to always have joy_hat = 0... (which would be dpad-up)


POTATO-MAN saves the day! - Random