41 lines
2.8 KiB
C
41 lines
2.8 KiB
C
#ifndef __RAD_INCLUDE_IGGYPERFMON_PSP2_H__
|
|
#define __RAD_INCLUDE_IGGYPERFMON_PSP2_H__
|
|
|
|
// You still need to include regular iggyperfmon.h first. This is just for convenience.
|
|
|
|
#define IggyPerfmonDPadWithShift(ctrldata, testfor) ((testfor) == ((ctrldata).buttons & ((testfor) | SCE_CTRL_L | SCE_CTRL_R)))
|
|
|
|
// From SceCtrlData (built-in controller)
|
|
#define IggyPerfmonPadFromSceCtrlData(pad, ctrldata) \
|
|
(pad).bits = 0, \
|
|
(pad).field.dpad_up = IggyPerfmonDPadWithShift(ctrldata, SCE_CTRL_UP), \
|
|
(pad).field.dpad_down = IggyPerfmonDPadWithShift(ctrldata, SCE_CTRL_DOWN), \
|
|
(pad).field.dpad_left = IggyPerfmonDPadWithShift(ctrldata, SCE_CTRL_LEFT), \
|
|
(pad).field.dpad_right = IggyPerfmonDPadWithShift(ctrldata, SCE_CTRL_RIGHT), \
|
|
(pad).field.button_up = 0 != ((ctrldata).buttons & SCE_CTRL_TRIANGLE), \
|
|
(pad).field.button_down = 0 != ((ctrldata).buttons & SCE_CTRL_CROSS), \
|
|
(pad).field.button_left = 0 != ((ctrldata).buttons & SCE_CTRL_SQUARE), \
|
|
(pad).field.button_right = 0 != ((ctrldata).buttons & SCE_CTRL_CIRCLE), \
|
|
(pad).field.shoulder_left_hi = IggyPerfmonDPadWithShift(ctrldata, SCE_CTRL_LEFT|SCE_CTRL_L), \
|
|
(pad).field.shoulder_right_hi = IggyPerfmonDPadWithShift(ctrldata, SCE_CTRL_RIGHT|SCE_CTRL_L),\
|
|
(pad).field.trigger_left_low = IggyPerfmonDPadWithShift(ctrldata, SCE_CTRL_LEFT|SCE_CTRL_R), \
|
|
(pad).field.trigger_right_low = IggyPerfmonDPadWithShift(ctrldata, SCE_CTRL_RIGHT|SCE_CTRL_R)
|
|
|
|
// From SceCtrlData2 (wireless controller)
|
|
#define IggyPerfmonPadFromSceCtrlData2(pad, ctrldata) \
|
|
(pad).bits = 0, \
|
|
(pad).field.dpad_up = 0 != ((ctrldata).buttons & SCE_CTRL_UP), \
|
|
(pad).field.dpad_down = 0 != ((ctrldata).buttons & SCE_CTRL_DOWN), \
|
|
(pad).field.dpad_left = 0 != ((ctrldata).buttons & SCE_CTRL_LEFT), \
|
|
(pad).field.dpad_right = 0 != ((ctrldata).buttons & SCE_CTRL_RIGHT), \
|
|
(pad).field.button_up = 0 != ((ctrldata).buttons & SCE_CTRL_TRIANGLE), \
|
|
(pad).field.button_down = 0 != ((ctrldata).buttons & SCE_CTRL_CROSS), \
|
|
(pad).field.button_left = 0 != ((ctrldata).buttons & SCE_CTRL_SQUARE), \
|
|
(pad).field.button_right = 0 != ((ctrldata).buttons & SCE_CTRL_CIRCLE), \
|
|
(pad).field.shoulder_left_hi = 0 != ((ctrldata).buttons & SCE_CTRL_L1), \
|
|
(pad).field.shoulder_right_hi = 0 != ((ctrldata).buttons & SCE_CTRL_R1), \
|
|
(pad).field.trigger_left_low = 0 != ((ctrldata).buttons & SCE_CTRL_L2), \
|
|
(pad).field.trigger_right_low = 0 != ((ctrldata).buttons & SCE_CTRL_R2)
|
|
|
|
#endif//__RAD_INCLUDE_IGGYPERFMON_PSP2_H__
|