#define I_INPUTMAPCONST_H
//----------------------------------------------------------------------------
//  @brief 
//  @desc
//      //for scripts
//      этот файл используется в скриптах как iInputMapConst.lgc
//      
//
//  @ingroup
//  
//  2005Jun28 created. Zmanovsky Peter.
//  (C) 2005    Sigma-Team
//-----------------------------------------------------------------------------

//#include "iBaseInterface.h"


//##########################################################################################################
// эти константы нужны из-за того, что скрипты не понимают 'enum'
// общее количество команд ограничено пока 32 (по числу бит в DWORD)

// если нажаты и отжаты в пределах одного такта то все равно должны сработать хотя бы один раз

// для команд не выключающихся в конце такта а только после отжатия кнопки
#define IA_MOVE_UP                   1
#define IA_MOVE_DOWN                 2
#define IA_MOVE_LEFT                 3
#define IA_MOVE_RIGHT                4
#define IA_ATTACK_COORD              5
#define IA_MOVE_TO_COORD             6

#define LINE_IA_AFTER_TACT           7 // с этой команды они выключаются после такта автоматически
// для команд выключающихся в конце такта
#define IA_WPN_PREV                  7
#define IA_WPN_NEXT                  8
#define IA_WPN_0                     9
#define IA_WPN_1                     10
#define IA_WPN_2                     11
#define IA_WPN_3                     12
#define IA_WPN_4                     13
#define IA_WPN_5                     14
#define IA_WPN_6                     15
#define IA_WPN_7                     16
#define IA_WPN_8                     17
#define IA_WPN_9                     18

#define IA_FLASH                     19

#define IA_CAR_ESCAPE                20

#define IA_RELOAD_WPN                21

#define IA_SHOW_INVENTORY            22
#define IA_SHOW_CHARSCREEN           23
#define IA_SHOW_STATEBAR             24

#define IA_SCREENSHOT                25

#define IA_SHOW_DEBUG_CONSOLE        26
#define IA_SKIP_DIALOG               27
#define IA_BOSS                      28
#define IA_ANY_KEY                   29 // нажата любая клавиша на клавиатуре, мышке, геймпаде
#define IA_SHOW_LOG                  30
#define IA_XXX_YYY                   31

// список непереназначаемых команд (используются обычно не в игре а в мапедите и т.д.)

// для команд не выключающихся в конце такта а только после отжатия кнопки
#define IM_ALT                       32
#define IM_CTRL                      33
#define IM_SHIFT                     34
#define IM_LBUTTONDOWN               35
#define IM_MBUTTONDOWN               36
#define IM_RBUTTONDOWN               37
#define IM_JOYBUTTON00               38
#define IM_JOYBUTTON01               39
#define IM_JOYBUTTON02               40
#define IM_JOYBUTTON03               41
#define IM_JOYBUTTON04               42
#define IM_JOYBUTTON05               43
#define IM_JOYBUTTON06               44
#define IM_JOYBUTTON07               45
#define IM_JOYBUTTON08               46
#define IM_JOYBUTTON09               47
#define IM_JOYBUTTON10               48
#define IM_JOYBUTTON11               49
#define IM_JOYBUTTON12               50
#define IM_JOYBUTTON13               51
#define IM_JOYBUTTON14               52
#define IM_JOYBUTTON15               53
#define IM_SPACE                     54

#define LINE_IM_AFTER_TACT           55 // с этой команды они выключаются после такта автоматически
// для команд выключающихся в конце такта
#define IM_LBUTTONUP                 55
#define IM_LBUTTONCLICK              56
#define IM_LBUTTONDBLCLK             57
#define IM_MBUTTONUP                 58
#define IM_MBUTTONCLICK              59
#define IM_RBUTTONUP                 60
#define IM_RBUTTONCLICK              61
#define IM_MOUSEWHEELUP              62
#define IM_MOUSEWHEELDOWN            63

// список команд возвращающих не 0/1 а большее число
#define IA_MOUSE_X                      64
#define IA_MOUSE_Y                      65
#define IA_SCREEN_MOUSE_X               66
#define IA_SCREEN_MOUSE_Y               67
#define IA_AXIS_X                       68
#define IA_AXIS_Y                       69
#define IA_AXIS2_X                      70
#define IA_AXIS2_Y                      71
#define IA_KEY                          72
#define IM_KEYDOWN                      72
#define IA_MOUSEWHEEL                   73

#define IA_NONE 0xffff
#define IM_NONE 0xffff
//
//
//
//
//
//
//
//
//

//
//#define FS_IA_XXX_YYY                   25

#define INPUT_ACTION unsigned


//for scripts
#ifndef GJ_DFH_GJ_FGJ_FGJH_FGJ_DFGFDG
#define GJ_DFH_GJ_FGJ_FGJH_FGJ_DFGFDG 111
static int UnneededVariabledgfjlgdsjldggh;
#endif
