FS2_Open
Open source remastering of the Freespace 2 engine
controlsconfig.cpp File Reference
#include "controlconfig/controlsconfig.h"
#include "debugconsole/console.h"
#include "freespace2/freespace.h"
#include "gamehelp/contexthelp.h"
#include "gamesequence/gamesequence.h"
#include "gamesnd/gamesnd.h"
#include "globalincs/alphacolors.h"
#include "graphics/font.h"
#include "hud/hudsquadmsg.h"
#include "io/joy.h"
#include "io/key.h"
#include "io/timer.h"
#include "missionui/missionscreencommon.h"
#include "network/multi_pmsg.h"
#include "network/multiutil.h"
#include "parse/scripting.h"
#include "pilotfile/pilotfile.h"
#include "popup/popup.h"
#include "ui/ui.h"
#include "ui/uidefs.h"
#include "hud/hud.h"

Go to the source code of this file.

Classes

struct  config_item_undo
 

Macros

#define NUM_SYSTEM_KEYS   14
 
#define NUM_BUTTONS   19
 
#define NUM_TABS   4
 
#define CONTROL_X_COORD   0
 
#define CONTROL_Y_COORD   1
 
#define CONTROL_W_COORD   2
 
#define CONTROL_H_COORD   3
 
#define CONFLICT_FLASH_TIME   250
 
#define LIST_BUTTONS_MAX   42
 
#define JOY_AXIS   0x80000
 
#define NUM_AXIS_TEXT   6
 
#define NUM_MOUSE_TEXT   5
 
#define NUM_MOUSE_AXIS_TEXT   2
 
#define NUM_INVERT_TEXT   2
 
#define TARGET_TAB   0
 
#define SHIP_TAB   1
 
#define WEAPON_TAB   2
 
#define COMPUTER_TAB   3
 
#define SCROLL_UP_BUTTON   4
 
#define SCROLL_DOWN_BUTTON   5
 
#define ALT_TOGGLE   6
 
#define SHIFT_TOGGLE   7
 
#define INVERT_AXIS   8
 
#define CANCEL_BUTTON   9
 
#define UNDO_BUTTON   10
 
#define RESET_BUTTON   11
 
#define SEARCH_MODE   12
 
#define BIND_BUTTON   13
 
#define HELP_BUTTON   14
 
#define ACCEPT_BUTTON   15
 
#define CLEAR_OTHER_BUTTON   16
 
#define CLEAR_ALL_BUTTON   17
 
#define CLEAR_BUTTON   18
 
#define CC_NUM_TEXT   20
 

Functions

 DCF_BOOL (show_controls_info, Show_controls_info)
 
void control_config_detect_axis_reset ()
 
int control_config_detect_axis ()
 
void control_config_conflict_check ()
 
void control_config_list_prepare ()
 
int cc_line_query_visible (int n)
 
config_item_undoget_undo_block (int size)
 
void free_undo_block ()
 
int control_config_undo_last ()
 
void control_config_save_axis_undo (int axis)
 
void control_config_bind_key (int i, int key)
 
void control_config_bind_joy (int i, int joy)
 
void control_config_bind_axis (int i, int axis)
 
int control_config_remove_binding ()
 
int control_config_clear_other ()
 
int control_config_clear_all ()
 
int control_config_axis_default (int axis)
 
int control_config_do_reset ()
 
void control_config_reset_defaults (int presetnum)
 
void control_config_scroll_screen_up ()
 
void control_config_scroll_line_up ()
 
void control_config_scroll_screen_down ()
 
void control_config_scroll_line_down ()
 
void control_config_toggle_modifier (int bit)
 
void control_config_toggle_invert ()
 
void control_config_do_bind ()
 
void control_config_do_search ()
 
void control_config_do_cancel (int fail=0)
 
int control_config_accept ()
 
void control_config_cancel_exit ()
 
void control_config_button_pressed (int n)
 
const char * control_config_tooltip_handler (const char *str)
 
void control_config_init ()
 
void control_config_close ()
 
void control_config_do_frame (float frametime)
 
void clear_key_binding (short key)
 
float check_control_timef (int id)
 
void control_check_indicate ()
 
int check_control_used (int id, int key)
 
int check_control (int id, int key)
 
void control_get_axes_readings (int *h, int *p, int *b, int *ta, int *tr)
 
void control_used (int id)
 
void control_config_clear_used_status ()
 
void control_config_clear ()
 
int control_config_handle_conflict ()
 

Variables

char * Conflict_background_bitmap_fname [GR_NUM_RESOLUTIONS]
 
char * Conflict_background_bitmap_mask_fname [GR_NUM_RESOLUTIONS]
 
int Control_list_coords [GR_NUM_RESOLUTIONS][4]
 
int Control_list_ctrl_w [GR_NUM_RESOLUTIONS]
 
int Control_list_key_x [GR_NUM_RESOLUTIONS]
 
int Control_list_key_w [GR_NUM_RESOLUTIONS]
 
int Control_more_coords [GR_NUM_RESOLUTIONS][2]
 
int Conflict_wnd_coords [GR_NUM_RESOLUTIONS][4]
 
int Conflict_warning_coords [GR_NUM_RESOLUTIONS][2]
 
int Conflict_stamp = -1
 
int Conflict_bright = 0
 
config_item Control_config_backup [CCFG_MAX]
 
int Axis_map_to [] = { JOY_X_AXIS, JOY_Y_AXIS, JOY_RX_AXIS, -1, -1 }
 
int Axis_map_to_defaults [] = { JOY_X_AXIS, JOY_Y_AXIS, JOY_RX_AXIS, -1, -1 }
 
char * Joy_axis_action_text [NUM_JOY_AXIS_ACTIONS]
 
char * Joy_axis_text [NUM_AXIS_TEXT]
 
char * Mouse_button_text [NUM_MOUSE_TEXT]
 
char * Mouse_axis_text [NUM_MOUSE_AXIS_TEXT]
 
char * Invert_text [NUM_INVERT_TEXT]
 
ubyte System_keys [NUM_SYSTEM_KEYS]
 
int Control_check_count = 0
 
int Control_config_overlay_id
 
int Conflicts_axes [NUM_JOY_AXIS_ACTIONS]
 
ui_button_info CC_Buttons [GR_NUM_RESOLUTIONS][NUM_BUTTONS]
 
UI_XSTR CC_text [GR_NUM_RESOLUTIONS][CC_NUM_TEXT]
 
config_item_undoConfig_item_undo
 
int Config_allowed []
 
int Show_controls_info = 0
 
Joy_info joystick
 
int Last_frame_timestamp
 

Macro Definition Documentation

#define ACCEPT_BUTTON   15

Definition at line 206 of file controlsconfig.cpp.

#define ALT_TOGGLE   6

Definition at line 197 of file controlsconfig.cpp.

#define BIND_BUTTON   13

Definition at line 204 of file controlsconfig.cpp.

#define CANCEL_BUTTON   9

Definition at line 200 of file controlsconfig.cpp.

#define CC_NUM_TEXT   20

Definition at line 257 of file controlsconfig.cpp.

#define CLEAR_ALL_BUTTON   17

Definition at line 208 of file controlsconfig.cpp.

#define CLEAR_BUTTON   18

Definition at line 209 of file controlsconfig.cpp.

#define CLEAR_OTHER_BUTTON   16

Definition at line 207 of file controlsconfig.cpp.

#define COMPUTER_TAB   3

Definition at line 194 of file controlsconfig.cpp.

#define CONFLICT_FLASH_TIME   250

Definition at line 120 of file controlsconfig.cpp.

#define CONTROL_H_COORD   3

Definition at line 49 of file controlsconfig.cpp.

#define CONTROL_W_COORD   2

Definition at line 48 of file controlsconfig.cpp.

#define CONTROL_X_COORD   0

Definition at line 46 of file controlsconfig.cpp.

#define CONTROL_Y_COORD   1

Definition at line 47 of file controlsconfig.cpp.

#define HELP_BUTTON   14

Definition at line 205 of file controlsconfig.cpp.

#define INVERT_AXIS   8

Definition at line 199 of file controlsconfig.cpp.

#define JOY_AXIS   0x80000

Definition at line 125 of file controlsconfig.cpp.

#define LIST_BUTTONS_MAX   42

Definition at line 124 of file controlsconfig.cpp.

#define NUM_AXIS_TEXT   6

Definition at line 150 of file controlsconfig.cpp.

#define NUM_BUTTONS   19

Definition at line 42 of file controlsconfig.cpp.

#define NUM_INVERT_TEXT   2

Definition at line 153 of file controlsconfig.cpp.

#define NUM_MOUSE_AXIS_TEXT   2

Definition at line 152 of file controlsconfig.cpp.

#define NUM_MOUSE_TEXT   5

Definition at line 151 of file controlsconfig.cpp.

#define NUM_SYSTEM_KEYS   14

Definition at line 41 of file controlsconfig.cpp.

#define NUM_TABS   4

Definition at line 43 of file controlsconfig.cpp.

#define RESET_BUTTON   11

Definition at line 202 of file controlsconfig.cpp.

#define SCROLL_DOWN_BUTTON   5

Definition at line 196 of file controlsconfig.cpp.

#define SCROLL_UP_BUTTON   4

Definition at line 195 of file controlsconfig.cpp.

#define SEARCH_MODE   12

Definition at line 203 of file controlsconfig.cpp.

#define SHIFT_TOGGLE   7

Definition at line 198 of file controlsconfig.cpp.

#define SHIP_TAB   1

Definition at line 192 of file controlsconfig.cpp.

#define TARGET_TAB   0

Definition at line 191 of file controlsconfig.cpp.

#define UNDO_BUTTON   10

Definition at line 201 of file controlsconfig.cpp.

#define WEAPON_TAB   2

Definition at line 193 of file controlsconfig.cpp.

Function Documentation

int cc_line_query_visible ( int  n)

Definition at line 490 of file controlsconfig.cpp.

int check_control ( int  id,
int  key 
)

Wrapper for check_control_used. Allows the game to ignore the key if told to do so by the ignore-key SEXP.

Definition at line 2273 of file controlsconfig.cpp.

float check_control_timef ( int  id)

Definition at line 2149 of file controlsconfig.cpp.

int check_control_used ( int  id,
int  key 
)

Definition at line 2197 of file controlsconfig.cpp.

void clear_key_binding ( short  key)

Definition at line 2138 of file controlsconfig.cpp.

void control_check_indicate ( )

Definition at line 2185 of file controlsconfig.cpp.

int control_config_accept ( )

Definition at line 1140 of file controlsconfig.cpp.

int control_config_axis_default ( int  axis)

Definition at line 838 of file controlsconfig.cpp.

void control_config_bind_axis ( int  i,
int  axis 
)

Definition at line 647 of file controlsconfig.cpp.

void control_config_bind_joy ( int  i,
int  joy 
)

Definition at line 637 of file controlsconfig.cpp.

void control_config_bind_key ( int  i,
int  key 
)

Definition at line 627 of file controlsconfig.cpp.

void control_config_button_pressed ( int  n)

Definition at line 1172 of file controlsconfig.cpp.

void control_config_cancel_exit ( )

Definition at line 1161 of file controlsconfig.cpp.

void control_config_clear ( )

Definition at line 2384 of file controlsconfig.cpp.

int control_config_clear_all ( )

Definition at line 798 of file controlsconfig.cpp.

int control_config_clear_other ( )

Definition at line 704 of file controlsconfig.cpp.

void control_config_clear_used_status ( )

Definition at line 2375 of file controlsconfig.cpp.

void control_config_close ( )

Definition at line 1368 of file controlsconfig.cpp.

void control_config_conflict_check ( )

Definition at line 394 of file controlsconfig.cpp.

int control_config_detect_axis ( )

Definition at line 364 of file controlsconfig.cpp.

void control_config_detect_axis_reset ( )

Definition at line 359 of file controlsconfig.cpp.

void control_config_do_bind ( )

Definition at line 1056 of file controlsconfig.cpp.

void control_config_do_cancel ( int  fail = 0)

Definition at line 1114 of file controlsconfig.cpp.

void control_config_do_frame ( float  frametime)

Definition at line 1424 of file controlsconfig.cpp.

int control_config_do_reset ( )

Definition at line 855 of file controlsconfig.cpp.

void control_config_do_search ( )

Definition at line 1090 of file controlsconfig.cpp.

int control_config_handle_conflict ( )

Definition at line 2394 of file controlsconfig.cpp.

void control_config_init ( )

Definition at line 1266 of file controlsconfig.cpp.

void control_config_list_prepare ( )

Definition at line 458 of file controlsconfig.cpp.

int control_config_remove_binding ( )

Definition at line 653 of file controlsconfig.cpp.

void control_config_reset_defaults ( int  presetnum)

Definition at line 932 of file controlsconfig.cpp.

void control_config_save_axis_undo ( int  axis)

Definition at line 612 of file controlsconfig.cpp.

void control_config_scroll_line_down ( )

Definition at line 1011 of file controlsconfig.cpp.

void control_config_scroll_line_up ( )

Definition at line 978 of file controlsconfig.cpp.

void control_config_scroll_screen_down ( )

Definition at line 994 of file controlsconfig.cpp.

void control_config_scroll_screen_up ( )

Definition at line 961 of file controlsconfig.cpp.

void control_config_toggle_invert ( )

Definition at line 1045 of file controlsconfig.cpp.

void control_config_toggle_modifier ( int  bit)

Definition at line 1028 of file controlsconfig.cpp.

const char* control_config_tooltip_handler ( const char *  str)

Definition at line 1251 of file controlsconfig.cpp.

int control_config_undo_last ( )

Definition at line 554 of file controlsconfig.cpp.

void control_get_axes_readings ( int h,
int p,
int b,
int ta,
int tr 
)

Definition at line 2300 of file controlsconfig.cpp.

void control_used ( int  id)

Definition at line 2352 of file controlsconfig.cpp.

DCF_BOOL ( show_controls_info  ,
Show_controls_info   
)
void free_undo_block ( )

Definition at line 535 of file controlsconfig.cpp.

config_item_undo* get_undo_block ( int  size)

Definition at line 508 of file controlsconfig.cpp.

Variable Documentation

int Axis_map_to[] = { JOY_X_AXIS, JOY_Y_AXIS, JOY_RX_AXIS, -1, -1 }

Definition at line 146 of file controlsconfig.cpp.

int Axis_map_to_defaults[] = { JOY_X_AXIS, JOY_Y_AXIS, JOY_RX_AXIS, -1, -1 }

Definition at line 147 of file controlsconfig.cpp.

Definition at line 211 of file controlsconfig.cpp.

int cc_index

Definition at line 130 of file controlsconfig.cpp.

Definition at line 258 of file controlsconfig.cpp.

int Config_allowed[]

Definition at line 309 of file controlsconfig.cpp.

config_item_undo* Config_item_undo

Definition at line 306 of file controlsconfig.cpp.

char* Conflict_background_bitmap_fname[GR_NUM_RESOLUTIONS]
Initial value:
= {
"ControlConfig",
"2_ControlConfig"
}

Definition at line 51 of file controlsconfig.cpp.

char* Conflict_background_bitmap_mask_fname[GR_NUM_RESOLUTIONS]
Initial value:
= {
"ControlConfig-m",
"2_ControlConfig-m"
}

Definition at line 56 of file controlsconfig.cpp.

int Conflict_bright = 0

Definition at line 122 of file controlsconfig.cpp.

int Conflict_stamp = -1

Definition at line 121 of file controlsconfig.cpp.

int Conflict_warning_coords[GR_NUM_RESOLUTIONS][2]
Initial value:
= {
{
-1, 420
},
{
-1, 669
}
}

Definition at line 110 of file controlsconfig.cpp.

int Conflict_wnd_coords[GR_NUM_RESOLUTIONS][4]
Initial value:
= {
{
32, 313, 250, 32
},
{
48, 508, 354, 46
}
}

Definition at line 100 of file controlsconfig.cpp.

int Conflicts_axes[NUM_JOY_AXIS_ACTIONS]

Definition at line 189 of file controlsconfig.cpp.

int Control_check_count = 0

Definition at line 165 of file controlsconfig.cpp.

config_item Control_config_backup[CCFG_MAX]

Definition at line 144 of file controlsconfig.cpp.

int Control_config_overlay_id

Definition at line 182 of file controlsconfig.cpp.

int Control_list_coords[GR_NUM_RESOLUTIONS][4]
Initial value:
= {
{
32, 58, 198, 259
},
{
32, 94, 904, 424
}
}

Definition at line 62 of file controlsconfig.cpp.

int Control_list_ctrl_w[GR_NUM_RESOLUTIONS]
Initial value:
= {
350,
600
}

Definition at line 72 of file controlsconfig.cpp.

int Control_list_key_w[GR_NUM_RESOLUTIONS]
Initial value:
= {
198,
230
}

Definition at line 84 of file controlsconfig.cpp.

int Control_list_key_x[GR_NUM_RESOLUTIONS]
Initial value:
= {
397,
712
}

Definition at line 78 of file controlsconfig.cpp.

int Control_more_coords[GR_NUM_RESOLUTIONS][2]
Initial value:
= {
{
320, 326
},
{
500, 542
}
}

Definition at line 90 of file controlsconfig.cpp.

char* Invert_text[NUM_INVERT_TEXT]

Definition at line 158 of file controlsconfig.cpp.

int joy

Definition at line 186 of file controlsconfig.cpp.

char* Joy_axis_action_text[NUM_JOY_AXIS_ACTIONS]

Definition at line 154 of file controlsconfig.cpp.

char* Joy_axis_text[NUM_AXIS_TEXT]

Definition at line 155 of file controlsconfig.cpp.

Joy_info joystick

Definition at line 45 of file joy-unix.cpp.

int jw

Definition at line 132 of file controlsconfig.cpp.

int jx

Definition at line 132 of file controlsconfig.cpp.

int key

Definition at line 185 of file controlsconfig.cpp.

int kw

Definition at line 132 of file controlsconfig.cpp.

int kx

Definition at line 132 of file controlsconfig.cpp.

const char* label

Definition at line 129 of file controlsconfig.cpp.

int Last_frame_timestamp

Definition at line 2351 of file controlsconfig.cpp.

char* Mouse_axis_text[NUM_MOUSE_AXIS_TEXT]

Definition at line 157 of file controlsconfig.cpp.

char* Mouse_button_text[NUM_MOUSE_TEXT]

Definition at line 156 of file controlsconfig.cpp.

int Show_controls_info = 0

Definition at line 352 of file controlsconfig.cpp.

ubyte System_keys[NUM_SYSTEM_KEYS]
Initial value:
= {
}
#define KEY_F4
Definition: key.h:146
#define KEY_F10
Definition: key.h:152
#define KEY_F12
Definition: key.h:154
#define KEY_F11
Definition: key.h:153
#define KEY_F8
Definition: key.h:150
#define KEY_F5
Definition: key.h:147
#define KEY_F7
Definition: key.h:149
#define KEY_F6
Definition: key.h:148
#define KEY_PRINT_SCRN
Definition: key.h:184
#define KEY_F1
Definition: key.h:143
#define KEY_ESC
Definition: key.h:124
#define KEY_F2
Definition: key.h:144
#define KEY_F3
Definition: key.h:145
#define KEY_F9
Definition: key.h:151

Definition at line 160 of file controlsconfig.cpp.

int y

Definition at line 131 of file controlsconfig.cpp.