bool GameStateConfigBase::parseKey(FileParser &infile, int &x1, int &y1, int &x2, int &y2) { // @CLASS GameStateConfigBase|Description of menus/config.txt if (infile.key == "listbox_scrollbar_offset") { // @ATTR listbox_scrollbar_offset|integer|Horizontal offset from the right of listboxes (mods, languages, etc) to place the scrollbar. activemods_lstb->scrollbar_offset = x1; inactivemods_lstb->scrollbar_offset = x1; language_lstb->scrollbar_offset = x1; } else if (infile.key == "music_volume") { // @ATTR music_volume|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Music Volume" slider relative to the frame. placeLabeledWidget(music_volume_lb, music_volume_sl, x1, y1, x2, y2, msg->get("Music Volume"), JUSTIFY_RIGHT); } else if (infile.key == "sound_volume") { // @ATTR sound_volume|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Sound Volume" slider relative to the frame. placeLabeledWidget(sound_volume_lb, sound_volume_sl, x1, y1, x2, y2, msg->get("Sound Volume"), JUSTIFY_RIGHT); } else if (infile.key == "language") { // @ATTR language|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Language" list box relative to the frame. placeLabeledWidget(language_lb, language_lstb, x1, y1, x2, y2, msg->get("Language")); } else if (infile.key == "combat_text") { // @ATTR combat_text|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Show combat text" checkbox relative to the frame. placeLabeledWidget(combat_text_lb, combat_text_cb, x1, y1, x2, y2, msg->get("Show combat text"), JUSTIFY_RIGHT); } else if (infile.key == "show_fps") { // @ATTR show_fps|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Show FPS" checkbox relative to the frame. placeLabeledWidget(show_fps_lb, show_fps_cb, x1, y1, x2, y2, msg->get("Show FPS"), JUSTIFY_RIGHT); } else if (infile.key == "show_hotkeys") { // @ATTR show_hotkeys|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Show Hotkey Labels" checkbox relative to the frame. placeLabeledWidget(show_hotkeys_lb, show_hotkeys_cb, x1, y1, x2, y2, msg->get("Show Hotkeys Labels"), JUSTIFY_RIGHT); } else if (infile.key == "colorblind") { // @ATTR colorblind|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Colorblind Mode" checkbox relative to the frame. placeLabeledWidget(colorblind_lb, colorblind_cb, x1, y1, x2, y2, msg->get("Colorblind Mode"), JUSTIFY_RIGHT); } else if (infile.key == "hardware_cursor") { // @ATTR hardware_cursor|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Hardware mouse cursor" checkbox relative to the frame. placeLabeledWidget(hardware_cursor_lb, hardware_cursor_cb, x1, y1, x2, y2, msg->get("Hardware mouse cursor"), JUSTIFY_RIGHT); } else if (infile.key == "dev_mode") { // @ATTR dev_mode|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Developer Mode" checkbox relative to the frame. placeLabeledWidget(dev_mode_lb, dev_mode_cb, x1, y1, x2, y2, msg->get("Developer Mode"), JUSTIFY_RIGHT); } else if (infile.key == "show_target") { // @ATTR show_target|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Show targeting animation" checkbox relative to the frame. placeLabeledWidget(show_target_lb, show_target_cb, x1, y1, x2, y2, msg->get("Show targeting animation"), JUSTIFY_RIGHT); } else if (infile.key == "loot_tooltips") { // @ATTR loot_tooltips|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Always show loot labels" checkbox relative to the frame. placeLabeledWidget(loot_tooltips_lb, loot_tooltips_cb, x1, y1, x2, y2, msg->get("Always show loot labels"), JUSTIFY_RIGHT); } else if (infile.key == "activemods") { // @ATTR activemods|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Active Mods" list box relative to the frame. placeLabeledWidget(activemods_lb, activemods_lstb, x1, y1, x2, y2, msg->get("Active Mods")); } else if (infile.key == "inactivemods") { // @ATTR inactivemods|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Available Mods" list box relative to the frame. placeLabeledWidget(inactivemods_lb, inactivemods_lstb, x1, y1, x2, y2, msg->get("Available Mods")); } else if (infile.key == "activemods_shiftup") { // @ATTR activemods_shiftup|x (integer), y (integer)|Position of the button to shift mods up in "Active Mods" relative to the frame. activemods_shiftup_btn->setBasePos(x1, y1); activemods_shiftup_btn->refresh(); } else if (infile.key == "activemods_shiftdown") { // @ATTR activemods_shiftdown|x (integer), y (integer)|Position of the button to shift mods down in "Active Mods" relative to the frame. activemods_shiftdown_btn->setBasePos(x1, y1); activemods_shiftdown_btn->refresh(); } else if (infile.key == "activemods_deactivate") { // @ATTR activemods_deactivate|x (integer), y (integer)|Position of the "Disable" button relative to the frame. activemods_deactivate_btn->label = msg->get("<< Disable"); activemods_deactivate_btn->setBasePos(x1, y1); activemods_deactivate_btn->refresh(); } else if (infile.key == "inactivemods_activate") { // @ATTR inactivemods_activate|x (integer), y (integer)|Position of the "Enable" button relative to the frame. inactivemods_activate_btn->label = msg->get("Enable >>"); inactivemods_activate_btn->setBasePos(x1, y1); inactivemods_activate_btn->refresh(); } else { return false; } return true; }
bool GameStateConfigBase::parseKey(FileParser &infile, int &x1, int &y1, int &x2, int &y2) { if (infile.key == "listbox_scrollbar_offset") { // @ATTR listbox_scrollbar_offset|int|Horizontal offset from the right of listboxes (mods, languages, etc) to place the scrollbar. activemods_lstb->scrollbar_offset = x1; inactivemods_lstb->scrollbar_offset = x1; language_lstb->scrollbar_offset = x1; } else if (infile.key == "music_volume") { // @ATTR music_volume|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Music Volume" slider relative to the frame. placeLabeledWidget(music_volume_lb, music_volume_sl, x1, y1, x2, y2, msg->get("Music Volume"), JUSTIFY_RIGHT); } else if (infile.key == "sound_volume") { // @ATTR sound_volume|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Sound Volume" slider relative to the frame. placeLabeledWidget(sound_volume_lb, sound_volume_sl, x1, y1, x2, y2, msg->get("Sound Volume"), JUSTIFY_RIGHT); } else if (infile.key == "language") { // @ATTR language|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Language" list box relative to the frame. placeLabeledWidget(language_lb, language_lstb, x1, y1, x2, y2, msg->get("Language")); language_lb->setJustify(JUSTIFY_CENTER); } else if (infile.key == "combat_text") { // @ATTR combat_text|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Show combat text" checkbox relative to the frame. placeLabeledWidget(combat_text_lb, combat_text_cb, x1, y1, x2, y2, msg->get("Show combat text"), JUSTIFY_RIGHT); } else if (infile.key == "show_fps") { // @ATTR show_fps|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Show FPS" checkbox relative to the frame. placeLabeledWidget(show_fps_lb, show_fps_cb, x1, y1, x2, y2, msg->get("Show FPS"), JUSTIFY_RIGHT); } else if (infile.key == "colorblind") { // @ATTR colorblind|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Colorblind Mode" checkbox relative to the frame. placeLabeledWidget(colorblind_lb, colorblind_cb, x1, y1, x2, y2, msg->get("Colorblind Mode"), JUSTIFY_RIGHT); } else if (infile.key == "hardware_cursor") { // @ATTR hardware_cursor|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Hardware mouse cursor" checkbox relative to the frame. placeLabeledWidget(hardware_cursor_lb, hardware_cursor_cb, x1, y1, x2, y2, msg->get("Hardware mouse cursor"), JUSTIFY_RIGHT); } else if (infile.key == "dev_mode") { // @ATTR dev_mode|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Developer Mode" checkbox relative to the frame. placeLabeledWidget(dev_mode_lb, dev_mode_cb, x1, y1, x2, y2, msg->get("Developer Mode"), JUSTIFY_RIGHT); } else if (infile.key == "loot_tooltips") { // @ATTR loot_tooltips|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Always show loot labels" checkbox relative to the frame. placeLabeledWidget(loot_tooltips_lb, loot_tooltips_cb, x1, y1, x2, y2, msg->get("Always show loot labels"), JUSTIFY_RIGHT); } else if (infile.key == "statbar_labels") { // @ATTR statbar_labels|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Always show stat bar labels" checkbox relative to the frame. placeLabeledWidget(statbar_labels_lb, statbar_labels_cb, x1, y1, x2, y2, msg->get("Always show stat bar labels"), JUSTIFY_RIGHT); } else if (infile.key == "auto_equip") { // @ATTR auto_equip|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Automatically equip items" checkbox relative to the frame. placeLabeledWidget(auto_equip_lb, auto_equip_cb, x1, y1, x2, y2, msg->get("Automatically equip items"), JUSTIFY_RIGHT); } else if (infile.key == "subtitles") { // @ATTR subtitles|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Subtitles" checkbox relative to the frame. placeLabeledWidget(subtitles_lb, subtitles_cb, x1, y1, x2, y2, msg->get("Subtitles"), JUSTIFY_RIGHT); } else if (infile.key == "activemods") { // @ATTR activemods|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Active Mods" list box relative to the frame. placeLabeledWidget(activemods_lb, activemods_lstb, x1, y1, x2, y2, msg->get("Active Mods")); activemods_lb->setJustify(JUSTIFY_CENTER); } else if (infile.key == "inactivemods") { // @ATTR inactivemods|int, int, int, int : Label X, Label Y, Widget X, Widget Y|Position of the "Available Mods" list box relative to the frame. placeLabeledWidget(inactivemods_lb, inactivemods_lstb, x1, y1, x2, y2, msg->get("Available Mods")); inactivemods_lb->setJustify(JUSTIFY_CENTER); } else if (infile.key == "activemods_shiftup") { // @ATTR activemods_shiftup|point|Position of the button to shift mods up in "Active Mods" relative to the frame. activemods_shiftup_btn->setBasePos(x1, y1); activemods_shiftup_btn->refresh(); } else if (infile.key == "activemods_shiftdown") { // @ATTR activemods_shiftdown|point|Position of the button to shift mods down in "Active Mods" relative to the frame. activemods_shiftdown_btn->setBasePos(x1, y1); activemods_shiftdown_btn->refresh(); } else if (infile.key == "activemods_deactivate") { // @ATTR activemods_deactivate|point|Position of the "Disable" button relative to the frame. activemods_deactivate_btn->label = msg->get("<< Disable"); activemods_deactivate_btn->setBasePos(x1, y1); activemods_deactivate_btn->refresh(); } else if (infile.key == "inactivemods_activate") { // @ATTR inactivemods_activate|point|Position of the "Enable" button relative to the frame. inactivemods_activate_btn->label = msg->get("Enable >>"); inactivemods_activate_btn->setBasePos(x1, y1); inactivemods_activate_btn->refresh(); } else { return false; } return true; }
bool GameStateConfigDesktop::parseKeyDesktop(FileParser &infile, int &x1, int &y1, int &x2, int &y2) { // @CLASS GameStateConfigDesktop|Description of menus/config.txt int keybind_num = -1; if (infile.key == "listbox_scrollbar_offset") { // overrides same key in GameStateConfigBase joystick_device_lstb->scrollbar_offset = x1; activemods_lstb->scrollbar_offset = x1; inactivemods_lstb->scrollbar_offset = x1; language_lstb->scrollbar_offset = x1; } else if (infile.key == "fullscreen") { // @ATTR fullscreen|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Full Screen Mode" checkbox relative to the frame. placeLabeledWidget(fullscreen_lb, fullscreen_cb, x1, y1, x2, y2, msg->get("Full Screen Mode"), JUSTIFY_RIGHT); } else if (infile.key == "mouse_move") { // @ATTR mouse_move|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Move hero using mouse" checkbox relative to the frame. placeLabeledWidget(mouse_move_lb, mouse_move_cb, x1, y1, x2, y2, msg->get("Move hero using mouse"), JUSTIFY_RIGHT); } else if (infile.key == "hwsurface") { // @ATTR hwsurface|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Hardware surfaces" checkbox relative to the frame. placeLabeledWidget(hwsurface_lb, hwsurface_cb, x1, y1, x2, y2, msg->get("Hardware surfaces"), JUSTIFY_RIGHT); } else if (infile.key == "vsync") { // @ATTR vsync|label x (integer), label y (integer), x (integer), y (integer)|Position of the "V-Sync" checkbox relative to the frame. placeLabeledWidget(vsync_lb, vsync_cb, x1, y1, x2, y2, msg->get("V-Sync"), JUSTIFY_RIGHT); } else if (infile.key == "texture_filter") { // @ATTR texture_filter|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Texture Filtering" checkbox relative to the frame. placeLabeledWidget(texture_filter_lb, texture_filter_cb, x1, y1, x2, y2, msg->get("Texture Filtering"), JUSTIFY_RIGHT); } else if (infile.key == "change_gamma") { // @ATTR change_gamma|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Allow changing gamma" checkbox relative to the frame. placeLabeledWidget(change_gamma_lb, change_gamma_cb, x1, y1, x2, y2, msg->get("Allow changing gamma"), JUSTIFY_RIGHT); } else if (infile.key == "gamma") { // @ATTR gamma|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Gamma" slider relative to the frame. placeLabeledWidget(gamma_lb, gamma_sl, x1, y1, x2, y2, msg->get("Gamma"), JUSTIFY_RIGHT); } else if (infile.key == "hws_note") { // @ATTR hws_note|x (integer), y (integer)|Position of the "Disable for performance" label (next to Hardware surfaces) relative to the frame. hws_note_lb->setBasePos(x1, y1); hws_note_lb->set(msg->get("Disable for performance")); } else if (infile.key == "dbuf_note") { // @ATTR dbuf_note|x (integer), y (integer)|Position of the "Disable for performance" label (next to Double buffering) relative to the frame. dbuf_note_lb->setBasePos(x1, y1); dbuf_note_lb->set(msg->get("Disable for performance")); } else if (infile.key == "test_note") { // @ATTR test_note|x (integer), y (integer)|Position of the "Experimental" label relative to the frame. test_note_lb->setBasePos(x1, y1); test_note_lb->set(msg->get("Experimental")); } else if (infile.key == "enable_joystick") { // @ATTR enable_joystick|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Use joystick" checkbox relative to the frame. placeLabeledWidget(enable_joystick_lb, enable_joystick_cb, x1, y1, x2, y2, msg->get("Use joystick"), JUSTIFY_RIGHT); } else if (infile.key == "joystick_device") { // @ATTR joystick_device|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Joystick" list box relative to the frame. placeLabeledWidget(joystick_device_lb, joystick_device_lstb, x1, y1, x2, y2, msg->get("Joystick")); for(int i = 0; i < SDL_NumJoysticks(); i++) { std::string joystick_name = inpt->getJoystickName(i); if (joystick_name != "") joystick_device_lstb->append(joystick_name, joystick_name); } } else if (infile.key == "mouse_aim") { // @ATTR mouse_aim|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Mouse aim" checkbox relative to the frame. placeLabeledWidget(mouse_aim_lb, mouse_aim_cb, x1, y1, x2, y2, msg->get("Mouse aim"), JUSTIFY_RIGHT); } else if (infile.key == "no_mouse") { // @ATTR no_mouse|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Do not use mouse" checkbox relative to the frame. placeLabeledWidget(no_mouse_lb, no_mouse_cb, x1, y1, x2, y2, msg->get("Do not use mouse"), JUSTIFY_RIGHT); } else if (infile.key == "joystick_deadzone") { // @ATTR joystick_deadzone|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Joystick Deadzone" slider relative to the frame. placeLabeledWidget(joystick_deadzone_lb, joystick_deadzone_sl, x1, y1, x2, y2, msg->get("Joystick Deadzone"), JUSTIFY_RIGHT); } else if (infile.key == "handheld_note") { // @ATTR handheld_note|x (integer), y (integer)|Position of the "For handheld devices" label relative to the frame. handheld_note_lb->setBasePos(x1, y1); handheld_note_lb->set(msg->get("For handheld devices")); } else if (infile.key == "secondary_offset") { // @ATTR secondary_offset|x (integer), y (integer)|Offset of the second (and third) columns of keybinds. secondary_offset.x = x1; secondary_offset.y = y1; } else if (infile.key == "keybinds_bg_color") { // @ATTR keybinds_bg_color|r (integer), g (integer), b (integer)|Background color for the keybindings scrollbox. scrollpane_color.r = x1; scrollpane_color.g = y1; scrollpane_color.b = x2; } else if (infile.key == "scrollpane") { // @ATTR scrollpane|x (integer), y (integer), w (integer), h (integer)|Position of the keybinding scrollbox relative to the frame. scrollpane.x = x1; scrollpane.y = y1; scrollpane.w = x2; scrollpane.h = y2; } else if (infile.key == "scrollpane_contents") { // @ATTR scrollpane_contents|integer|The vertical size of the keybinding scrollbox's contents. scrollpane_contents = x1; } // @ATTR cancel|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Cancel" keybind relative to the keybinding scrollbox. else if (infile.key == "cancel") keybind_num = CANCEL; // @ATTR accept|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Accept" keybind relative to the keybinding scrollbox. else if (infile.key == "accept") keybind_num = ACCEPT; // @ATTR up|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Up" keybind relative to the keybinding scrollbox. else if (infile.key == "up") keybind_num = UP; // @ATTR down|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Down" keybind relative to the keybinding scrollbox. else if (infile.key == "down") keybind_num = DOWN; // @ATTR left|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Left" keybind relative to the keybinding scrollbox. else if (infile.key == "left") keybind_num = LEFT; // @ATTR right|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Right" keybind relative to the keybinding scrollbox. else if (infile.key == "right") keybind_num = RIGHT; // @ATTR bar1|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar1" keybind relative to the keybinding scrollbox. else if (infile.key == "bar1") keybind_num = BAR_1; // @ATTR bar2|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar2" keybind relative to the keybinding scrollbox. else if (infile.key == "bar2") keybind_num = BAR_2; // @ATTR bar3|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar3" keybind relative to the keybinding scrollbox. else if (infile.key == "bar3") keybind_num = BAR_3; // @ATTR bar4|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar4" keybind relative to the keybinding scrollbox. else if (infile.key == "bar4") keybind_num = BAR_4; // @ATTR bar5|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar5" keybind relative to the keybinding scrollbox. else if (infile.key == "bar5") keybind_num = BAR_5; // @ATTR bar6|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar6" keybind relative to the keybinding scrollbox. else if (infile.key == "bar6") keybind_num = BAR_6; // @ATTR bar7|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar7" keybind relative to the keybinding scrollbox. else if (infile.key == "bar7") keybind_num = BAR_7; // @ATTR Bar8|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar8" keybind relative to the keybinding scrollbox. else if (infile.key == "bar8") keybind_num = BAR_8; // @ATTR bar9|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar9" keybind relative to the keybinding scrollbox. else if (infile.key == "bar9") keybind_num = BAR_9; // @ATTR bar0|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Bar0" keybind relative to the keybinding scrollbox. else if (infile.key == "bar0") keybind_num = BAR_0; // @ATTR main1|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Main1" keybind relative to the keybinding scrollbox. else if (infile.key == "main1") keybind_num = MAIN1; // @ATTR main2|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Main2" keybind relative to the keybinding scrollbox. else if (infile.key == "main2") keybind_num = MAIN2; // @ATTR character|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Character" keybind relative to the keybinding scrollbox. else if (infile.key == "character") keybind_num = CHARACTER; // @ATTR inventory|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Inventory" keybind relative to the keybinding scrollbox. else if (infile.key == "inventory") keybind_num = INVENTORY; // @ATTR powers|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Powers" keybind relative to the keybinding scrollbox. else if (infile.key == "powers") keybind_num = POWERS; // @ATTR log|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Log" keybind relative to the keybinding scrollbox. else if (infile.key == "log") keybind_num = LOG; // @ATTR ctrl|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Ctrl" keybind relative to the keybinding scrollbox. else if (infile.key == "ctrl") keybind_num = CTRL; // @ATTR shift|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Shift" keybind relative to the keybinding scrollbox. else if (infile.key == "shift") keybind_num = SHIFT; // @ATTR alt|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Alt" keybind relative to the keybinding scrollbox. else if (infile.key == "alt") keybind_num = ALT; // @ATTR delete|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Delete" keybind relative to the keybinding scrollbox. else if (infile.key == "delete") keybind_num = DEL; // @ATTR actionbar|label x (integer), label y (integer), x (integer), y (integer)|Position of the "ActionBar Accept" keybind relative to the keybinding scrollbox. else if (infile.key == "actionbar") keybind_num = ACTIONBAR; // @ATTR actionbar_back|label x (integer), label y (integer), x (integer), y (integer)|Position of the "ActionBar Left" keybind relative to the keybinding scrollbox. else if (infile.key == "actionbar_back") keybind_num = ACTIONBAR_BACK; // @ATTR actionbar_forward|label x (integer), label y (integer), x (integer), y (integer)|Position of the "ActionBar Right" keybind relative to the keybinding scrollbox. else if (infile.key == "actionbar_forward") keybind_num = ACTIONBAR_FORWARD; // @ATTR actionbar_use|label x (integer), label y (integer), x (integer), y (integer)|Position of the "ActionBar Use" keybind relative to the keybinding scrollbox. else if (infile.key == "actionbar_use") keybind_num = ACTIONBAR_USE; // @ATTR developer_menu|label x (integer), label y (integer), x (integer), y (integer)|Position of the "Developer Menu" keybind relative to the keybinding scrollbox. else if (infile.key == "developer_menu") keybind_num = DEVELOPER_MENU; else return false; if (keybind_num > -1 && (unsigned)keybind_num < keybinds_lb.size() && (unsigned)keybind_num < keybinds_btn.size()) { //keybindings keybinds_lb[keybind_num]->setX(x1); keybinds_lb[keybind_num]->setY(y1); keybinds_btn[keybind_num]->pos.x = x2; keybinds_btn[keybind_num]->pos.y = y2; } return true; }