diff options
| author | Jakob Fries <jakob.fries@gmail.com> | 2007-07-24 23:19:45 +0000 |
|---|---|---|
| committer | Jakob Fries <jakob.fries@gmail.com> | 2007-07-24 23:19:45 +0000 |
| commit | 33f1f2f835a2c4f6824f780663247b032405a48f (patch) | |
| tree | bdf4a79c90cdecdec5ed9c5dadd102effeb0e38c /src/game/client/menu.cpp | |
| parent | 5bd2c434f63ff4a039e854d647f02ef660c544d1 (diff) | |
| download | zcatch-33f1f2f835a2c4f6824f780663247b032405a48f.tar.gz zcatch-33f1f2f835a2c4f6824f780663247b032405a48f.zip | |
you can now choose what key activates which weapon
Diffstat (limited to 'src/game/client/menu.cpp')
| -rw-r--r-- | src/game/client/menu.cpp | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/game/client/menu.cpp b/src/game/client/menu.cpp index 9143594e..8b7dd7d1 100644 --- a/src/game/client/menu.cpp +++ b/src/game/client/menu.cpp @@ -766,9 +766,41 @@ static int settings_general_render() return 0; } +typedef void (*assign_func_callback)(configuration *config, int value); + +struct key_thing +{ + char name[32]; + int *key; + assign_func_callback assign_func; +}; + static int settings_controls_render() { + static int scroll_index = 0; + + key_thing keys[] = + { + { "Move Left:", &config_copy.key_move_left, config_set_key_move_left }, + { "Move Right:", &config_copy.key_move_right, config_set_key_move_right }, + { "Jump:", &config_copy.key_jump, config_set_key_jump }, + { "Fire:", &config_copy.key_fire, config_set_key_fire }, + { "Hook:", &config_copy.key_hook, config_set_key_hook }, + { "Pistol:", &config_copy.key_weapon1, config_set_key_weapon1 }, + { "Grenade:", &config_copy.key_weapon2, config_set_key_weapon2 }, + { "Shotgun:", &config_copy.key_weapon3, config_set_key_weapon3 }, + { "Hammer:", &config_copy.key_weapon4, config_set_key_weapon4 }, + }; + + for (int i = 0; i < 7; i++) + { + key_thing key = keys[i + scroll_index]; + + ui_do_label(column1_x, row1_y + 40 * i, key.name, 36); + key.assign_func(&config_copy, ui_do_key_reader(key.key, column2_x, row1_y + 40 * i, 150, 36, *key.key)); + } // KEYS + /* ui_do_label(column1_x, row1_y + 0, "Move Left:", 36); config_set_key_move_left(&config_copy, ui_do_key_reader(&config_copy.key_move_left, column2_x, row1_y + 0, 150, 36, config_copy.key_move_left)); ui_do_label(column1_x, row1_y + 40, "Move Right:", 36); @@ -779,11 +811,14 @@ static int settings_controls_render() config_set_key_fire(&config_copy, ui_do_key_reader(&config_copy.key_fire, column2_x, row1_y + 120, 150, 36, config_copy.key_fire)); ui_do_label(column1_x, row1_y + 160, "Hook:", 36); config_set_key_hook(&config_copy, ui_do_key_reader(&config_copy.key_hook, column2_x, row1_y + 160, 150, 36, config_copy.key_hook)); + */ + + scroll_index = do_scroll_bar_vert(&scroll_index, 600, row1_y, 40 * 7, 9 - 7, scroll_index); return 0; } -static const unsigned MAX_RESOLUTIONS = 8; +static const int MAX_RESOLUTIONS = 8; static int settings_video_render() { |