1 /*---------------------------------------------------------------------------* 2 Project: RevolutionSDK Extension 3 File: demokpad.h 4 5 Copyright 2006 Nintendo. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Log: demokpad.h,v $ 14 Revision 1.5 2007/10/23 13:41:53 seiki_masashi 15 added REXDEMOGetAnyKPadHold 16 17 Revision 1.4 2007/06/16 06:17:10 hirose_kazuki 18 Added GC Pad-related features. 19 20 Revision 1.3 2006/09/05 10:55:40 yosizaki 21 Added REXDEMOGetAnyKPadTrigger. 22 23 Revision 1.2 2006/08/29 07:19:20 adachi_hiroaki 24 Changed prefix. Cleaned up code elsewhere. 25 26 Revision 1.1 2006/08/10 12:09:06 adachi_hiroaki 27 Changed the header file position. 28 29 Revision 1.1 2006/08/09 13:28:49 yasu 30 Added library for using KPAD. 31 32 $NoKeywords: $ 33 *---------------------------------------------------------------------------*/ 34 #ifndef DEMOS_SHARE_DEMOKPAD_H_ 35 #define DEMOS_SHARE_DEMOKPAD_H_ 36 37 #include <revolution/types.h> 38 #include <revolution/kpad.h> 39 #include <revolution/pad.h> 40 41 #ifdef __cplusplus 42 extern "C" { 43 #endif 44 45 void REXDEMOKPadInit(void); 46 void REXDEMOKPadRead(void); 47 48 extern KPADStatus REXDEMOKPadStatus[WPAD_MAX_CONTROLLERS]; 49 extern PADStatus REXDEMOPadStatus[PAD_MAX_CONTROLLERS]; 50 51 // Inline functions for getting each component REXDEMOKPadGetButton(u32 i)52static inline u32 REXDEMOKPadGetButton(u32 i) { return REXDEMOKPadStatus[i].hold; } REXDEMOKPadGetButtonUp(u32 i)53static inline u32 REXDEMOKPadGetButtonUp(u32 i) { return REXDEMOKPadStatus[i].release; } REXDEMOKPadGetButtonDown(u32 i)54static inline u32 REXDEMOKPadGetButtonDown(u32 i){ return REXDEMOKPadStatus[i].trig; } REXDEMOKPadGetPos(u32 i)55static inline Vec2 REXDEMOKPadGetPos(u32 i) { return REXDEMOKPadStatus[i].pos; } REXDEMOKPadGetErr(u32 i)56static inline s8 REXDEMOKPadGetErr(u32 i) { return REXDEMOKPadStatus[i].wpad_err; } 57 REXDEMOPadGetButton(u32 i)58static inline u16 REXDEMOPadGetButton(u32 i) { return REXDEMOPadStatus[i].button; } REXDEMOPadGetStickX(u32 i)59static inline s16 REXDEMOPadGetStickX(u32 i) { return REXDEMOPadStatus[i].stickX; } REXDEMOPadGetStickY(u32 i)60static inline s16 REXDEMOPadGetStickY(u32 i) { return REXDEMOPadStatus[i].stickY; } REXDEMOPadGetSubStickX(u32 i)61static inline s16 REXDEMOPadGetSubStickX(u32 i) { return REXDEMOPadStatus[i].substickX; } REXDEMOPadGetSubStickY(u32 i)62static inline s16 REXDEMOPadGetSubStickY(u32 i) { return REXDEMOPadStatus[i].substickY; } 63 64 u32 REXDEMOGetAnyKPadTrigger( void ); 65 u32 REXDEMOGetAnyMixedPadTrigger( void ); 66 u32 REXDEMOGetAnyKPadHold( void ); 67 u32 REXDEMOGetAnyMixedPadHold( void ); 68 69 #ifdef __cplusplus 70 } 71 #endif 72 #endif /* DEMOS_SHARE_DEMOKPAD_H_ */ 73