Line data Source code
1 0 : /* 2 : 3 : PlayerEntityStickMapper.h 4 : 5 : Joystick support for SDL implementation of Oolite. 6 : 7 : Oolite 8 : Copyright (C) 2004-2013 Giles C Williams and contributors 9 : 10 : This program is free software; you can redistribute it and/or 11 : modify it under the terms of the GNU General Public License 12 : as published by the Free Software Foundation; either version 2 13 : of the License, or (at your option) any later version. 14 : 15 : This program is distributed in the hope that it will be useful, 16 : but WITHOUT ANY WARRANTY; without even the implied warranty of 17 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 : GNU General Public License for more details. 19 : 20 : You should have received a copy of the GNU General Public License 21 : along with this program; if not, write to the Free Software 22 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 23 : MA 02110-1301, USA. 24 : 25 : */ 26 : 27 : #import "PlayerEntity.h" 28 : #import "GuiDisplayGen.h" 29 : #import "MyOpenGLView.h" 30 : #import "Universe.h" 31 : 32 0 : #define MAX_ROWS_FUNCTIONS 12 33 : 34 0 : #define GUI_ROW_STICKNAME 1 35 : // leave row 2 empty - we need it in case we have a 36 : // second joystick connected. Also, we need a different way 37 : // of listing joysticks, if we ever decide to support more 38 : // than the current maximum of 2 - Nikos 20151103 39 0 : #define GUI_ROW_STICKPROFILE 3 40 0 : #define GUI_ROW_HEADING 4 41 0 : #define GUI_ROW_FUNCSTART 5 42 0 : #define GUI_ROW_FUNCEND (GUI_ROW_FUNCSTART + MAX_ROWS_FUNCTIONS - 1) 43 0 : #define GUI_ROW_INSTRUCT 18 44 : 45 : // Dictionary keys 46 0 : #define KEY_HEADER @"header" 47 0 : #define KEY_GUIDESC @"guiDesc" 48 0 : #define KEY_ALLOWABLE @"allowable" 49 0 : #define KEY_AXISFN @"axisfunc" 50 0 : #define KEY_BUTTONFN @"buttonfunc" 51 : 52 : @interface PlayerEntity (StickMapper) 53 : 54 0 : - (void) resetStickFunctions; 55 0 : - (void) setGuiToStickMapperScreen: (unsigned)skip resetCurrentRow: (BOOL) resetCurrentRow; 56 0 : - (void) setGuiToStickMapperScreen: (unsigned)skip; 57 0 : - (void) stickMapperInputHandler: (GuiDisplayGen *)gui 58 : view: (MyOpenGLView *)gameView; 59 : // Callback method 60 0 : - (void) updateFunction: (NSDictionary *)hwDict; 61 : 62 : // Future: populate via plist 63 0 : - (NSDictionary *)makeStickGuiDictHeader:(NSString *)header; 64 0 : - (NSDictionary *)makeStickGuiDict: (NSString *)what 65 : allowable: (int)allowable 66 : axisfn: (int)axisfn 67 : butfn: (int)butfn; 68 : 69 : @end 70 :