Hi there,
Well since i am not going to use this option tab feel free to use it :).
Removed the drop down menu's, feel free to add your own support.
https://gyazo.com/1e9bfbe9c1df13e9da8a2236f9024b3f.png
Code:
package com.jagex.cache.graphics.interfaces.widgets;
import com.jagex.Client;
import com.jagex.cache.graphics.GameFont;
import com.jagex.cache.graphics.Widget;
/**
*
* The class which represents functionality for the OSRS options tab.
* @author <a rel="nofollow" href="http://www.rune-server.org/members/_Patrick_/">Patrick van Elderen</a>
*
*/
public class OptionTab extends Widget {
public static void unpack(GameFont[] font) {
display_options_main(font);
display_options(font);
audio_options(font);
chat_options(font);
advanced_options(font);
controls_options(font);
}
private static void display_options_main(GameFont[] font) {
Widget main_tab = addTabInterface(904);
Widget energy = interfaceCache[149];
energy.textColor = 0xff9933;
addSprite(961, 690);
addConfigButton(12464, 904, 703, 704, 40, 40, "Toggle Accept Aid", 1, 5, 427);
addSprite(949, 691);
addConfigButton(152, 904, 703, 704, 40, 40, "Toggle Run", 0, 5, 173);
addSprite(950, 692);
addConfigButton(951, 904, 703, 704, 40, 40, "Open House Options", 1, 5, 428);
addSprite(952, 693);
addConfigButton(967, 904, 703, 704, 40, 40, "View Old School Bonds", 1, 5, 429);
addSprite(966, 663);
addConfigButton(953, 904, 703, 704, 40, 40, "Display", 0, 5, 953);
addSprite(954, 694);
addConfigButton(959, 904, 703, 704, 40, 40, "Controls", 1, 5, 959);
addSprite(960, 695);
addConfigButton(963, 904, 703, 704, 40, 40, "Audio", 1, 5, 963);
addSprite(956, 697);
addConfigButton(965, 904, 703, 704, 40, 40, "Chat", 1, 5, 965);
addSprite(958, 707);
main_tab.totalChildren(18);
main_tab.child(0, 12464, 7, 223);
main_tab.child(1, 949, 10, 227);
main_tab.child(2, 152, 54, 223);
main_tab.child(3, 149, 59, 243);
main_tab.child(4, 950, 64, 226);
main_tab.child(5, 951, 101, 223);
main_tab.child(6, 952, 105, 228);
main_tab.child(7, 953, 6, 4);
main_tab.child(8, 954, 10, 8);
main_tab.child(9, 959, 145, 4);
main_tab.child(10, 960, 150, 8);
main_tab.child(11, 961, 4, 46);
main_tab.child(12, 963, 53, 4);
main_tab.child(13, 956, 58, 8);
main_tab.child(14, 965, 100, 4);
main_tab.child(15, 958, 103, 8);
main_tab.child(16, 967, 146, 223);
main_tab.child(17, 966, 146, 224);
}
private static void display_options(GameFont[] font) {
Widget main_tab_widget = addTabInterface(11000);
addSprite(962, 664);
addConfigButton(906, 904, 665, 669, 32, 16, "Adjust Screen Brightness", 1, 5, 166);
addConfigButton(908, 904, 666, 670, 32, 16, "Adjust Screen Brightness", 2, 5, 166);
addConfigButton(910, 904, 667, 671, 32, 16, "Adjust Screen Brightness", 3, 5, 166);
addConfigButton(912, 904, 668, 672, 32, 16, "Adjust Screen Brightness", 4, 5, 166);
//TODO slider
addSprite(11011, 712);
addConfigButton(11012, 904, 797, -1, 32, 27, "Select", 1, 5, 11008);
addConfigButton(916, 904, 665, 822, 32, 16, "", 1, 5, 168);
addConfigButton(918, 904, 666, 823, 32, 16, "", 2, 5, 168);
addConfigButton(920, 904, 667, 824, 32, 16, "", 3, 5, 168);
addConfigButton(922, 904, 668, 825, 32, 16, "", 4, 5, 168);
addConfigButton(11001, 904, 673, 674, 62, 54, Client.getClientConfiguration().getScreenMode().isFixed() ? "" : "Fixed mode", 0, 5, 11001);
addHoverButton(11002, Client.getClientConfiguration().getScreenMode().isFixed() ? 675 : 677, 62, 48, "Fixed mode", -1, 11003, 1);
addHoveredButton(11003, 675, 62, 48, 11004);
addConfigButton(11005, 904, 673, 674, 62, 54, Client.getClientConfiguration().getScreenMode().isResizable() ? "" : "Resizable mode", 1, 5, 11005);
addHoverButton(11006, 678, 62, 48, "Resizable mode", -1, 11007, 1);
addHoveredButton(11007, 676, 62, 48, 11008);
addSprite(11009, 836);
addHoverText(11010, "Advanced options", "Advanced options", font, 1, 0xff981f, false, true, 122, 20);
main_tab_widget.totalChildren(20);
main_tab_widget.child(0, 904, 0, -3);
main_tab_widget.child(1, 962, 12, 88);
main_tab_widget.child(2, 906, 47, 100);
main_tab_widget.child(3, 908, 79, 100);
main_tab_widget.child(4, 910, 111, 100);
main_tab_widget.child(5, 912, 143, 100);
main_tab_widget.child(6, 11001, 28, 124);
main_tab_widget.child(7, 11002, 32, 128);
main_tab_widget.child(8, 11003, 104, 128);
main_tab_widget.child(9, 11005, 100, 124);
main_tab_widget.child(10, 11006, 104, 128);
main_tab_widget.child(11, 11007, 104, 128);
main_tab_widget.child(12, 11009, 28, 180);
main_tab_widget.child(13, 11010, 45, 187);
main_tab_widget.child(14, 11011, 13, 52);
main_tab_widget.child(15, 916, 47, 62);
main_tab_widget.child(16, 918, 79, 62);
main_tab_widget.child(17, 920, 111, 62);
main_tab_widget.child(18, 922, 143, 62);
main_tab_widget.child(19, 11012, 11, 53);
}
private static void audio_options(GameFont[] font) {
Widget audio_widget = addTabInterface(12000);
addSprite(12001, 698);
addConfigButton(12002, 904, 826, 831, 32, 16, "Adjust Music Volume", 0, 5, 200);
addConfigButton(12003, 904, 827, 832, 32, 16, "Adjust Music Volume", 1, 5, 200);
addConfigButton(12004, 904, 828, 833, 32, 16, "Adjust Music Volume", 2, 5, 200);
addConfigButton(12005, 904, 829, 834, 32, 16, "Adjust Music Volume", 3, 5, 200);
addConfigButton(12006, 904, 830, 835, 32, 16, "Adjust Music Volume", 4, 5, 200);
addSprite(12007, 697);
addConfigButton(12008, 904, 826, 831, 32, 16, "Adjust Sound Effect Volume", 0, 5, 201);
addConfigButton(12009, 904, 827, 832, 32, 16, "Adjust Sound Effect Volume", 1, 5, 201);
addConfigButton(12010, 904, 828, 833, 32, 16, "Adjust Sound Effect Volume", 2, 5, 201);
addConfigButton(12011, 904, 829, 834, 32, 16, "Adjust Sound Effect Volume", 3, 5, 201);
addConfigButton(12012, 904, 830, 835, 32, 16, "Adjust Sound Effect Volume", 4, 5, 201);
addSprite(12013, 699);
addConfigButton(12014, 904, 826, 831, 32, 16, "Adjust Area Sound Effect Volume", 0, 5, 202);
addConfigButton(12015, 904, 827, 832, 32, 16, "Adjust Area Sound Effect Volume", 1, 5, 202);
addConfigButton(12016, 904, 828, 833, 32, 16, "Adjust Area Sound Effect Volume", 2, 5, 202);
addConfigButton(12017, 904, 829, 834, 32, 16, "Adjust Area Sound Effect Volume", 3, 5, 202);
addConfigButton(12018, 904, 830, 835, 32, 16, "Adjust Area Sound Effect Volume", 4, 5, 202);
audio_widget.totalChildren(19);
audio_widget.child(0, 904, 0, -3);
audio_widget.child(1, 12001, 12, 68);
audio_widget.child(2, 12002, 55, 75);
audio_widget.child(3, 12003, 80, 75);
audio_widget.child(4, 12004, 105, 75);
audio_widget.child(5, 12005, 130, 75);
audio_widget.child(6, 12006, 155, 75);
audio_widget.child(7, 12007, 12, 117);
audio_widget.child(8, 12008, 55, 124);
audio_widget.child(9, 12009, 80, 124);
audio_widget.child(10, 12010, 105, 124);
audio_widget.child(11, 12011, 130, 124);
audio_widget.child(12, 12012, 155, 124);
audio_widget.child(13, 12013, 12, 166);
audio_widget.child(14, 12014, 55, 173);
audio_widget.child(15, 12015, 80, 173);
audio_widget.child(16, 12016, 105, 173);
audio_widget.child(17, 12017, 130, 173);
audio_widget.child(18, 12018, 155, 173);
}
private static void chat_options(GameFont[] font) {
Widget chat_widget = addTabInterface(13000);
addConfigButton(13001, 904, 703, 704, 40, 40, "Toggle Chat Effects", 1, 5, 13001);
addSprite(13002, 684);
addConfigButton(13003, 904, 703, 704, 40, 40, "Toggle Split Private Chat", 1, 5, 13003);
addSprite(13004, 685);
addConfigButton(13005, 904, 703, 704, 40, 40, "Toggle Hide Private Chat", 1, 5, 13005);
addSprite(13006, 713);
addConfigButton(13007, 904, 703, 704, 40, 40, "Toggle Profanity filter", 1, 5, 13007);
addSprite(13008, 705);
addConfigButton(13009, 904, 703, 704, 40, 40, "Notifications", 1, 5, 13009);
addSprite(13010, 714);
addConfigButton(13011, 904, 703, 704, 40, 40, "Toggle Login/Logout notification timeout", 1, 5, 13011);
addSprite(13012, 708);
addSprite(13013, 836);
addHoverText(13014, "Display name", "Display name", font, 1, 0xff981f, false, true, 122, 20);
chat_widget.totalChildren(15);
chat_widget.child(0, 904, 0, -3);
chat_widget.child(1, 13001, 20, 65);
chat_widget.child(2, 13002, 24, 68);
chat_widget.child(3, 13003, 74, 65);
chat_widget.child(4, 13004, 78, 68);
chat_widget.child(5, 13005, 130, 65);
chat_widget.child(6, 13006, 135, 68);
chat_widget.child(7, 13007, 20, 115);
chat_widget.child(8, 13008, 24, 118);
chat_widget.child(9, 13009, 74, 115);
chat_widget.child(10, 13010, 78, 118);
chat_widget.child(11, 13011, 130, 115);
chat_widget.child(12, 13012, 134, 118);
chat_widget.child(13, 13013, 26, 170);
chat_widget.child(14, 13014, 60, 177);
}
private static void controls_options(GameFont[] font) {
Widget controls_widget = addTabInterface(14000);
//Total children in this sub widget
setChildren(14, controls_widget);
// Background image
addSprite(14001, 837);
setBounds(14001, 10, 49, 0, controls_widget);
// 904 Settings widget
setBounds(904, 0, -3, 1, controls_widget);
//The npc attack options
addText(14002, "NPC 'Attack' options:", font, 1, 0xFF981F, false, true);
setBounds(14002, 14, 174, 2, controls_widget);
//TODO 14003 NPC dropdown menu
//setBounds(14003, 13, 194, 3, controls_widget);
addText(14004, "Player 'Attack' options:", font, 1, 0xFF981F, false, true);
setBounds(14004, 14, 135, 3, controls_widget);
//TODO 14005 player attack options
//setBounds(14005, 13, 154, 5, controls_widget);
// Mouse buttons config
addConfigButton(14006, 904, 703, 704, 40, 40, "Toggle number of Mouse Buttons", 1, 5, 14006);
setBounds(14006, 24, 50, 4, controls_widget);
// Mouse buttons sprite
addSprite(14007, 683);
setBounds(14007, 28, 53, 5, controls_widget);
// Mouse camera config
addConfigButton(14008, 904, 703, 704, 40, 40, "Toggle Mouse Camera", 1, 5, 14008);
setBounds(14008, 76, 50, 6, controls_widget);
// Mouse camera sprite
addSprite(14009, 706);
setBounds(14009, 79, 52, 7, controls_widget);
// Toggle follower config
addConfigButton(14010, 904, 703, 704, 40, 40, "Toggle Follower options priority", 1, 5, 14010);
setBounds(14010, 128, 50, 8, controls_widget);
// Follower sprite
addSprite(14011, 715);
setBounds(14011, 130, 53, 9, controls_widget);
// Keybinding sprite
addSprite(14012, 703);
setBounds(14012, 45, 93, 10, controls_widget);
// Keybinding button
addButton(14013, 696, 40, 40, "Keybinding", 1);
setBounds(14013, 49, 96, 11, controls_widget);
// Shift click config
addConfigButton(14014, 904, 703, 704, 40, 40, "Toggle Shift Click Drop", 1, 5, 14014);
setBounds(14014, 106, 94, 12, controls_widget);
// Shift click sprite
addSprite(14015, 689);
setBounds(14015, 110, 96, 13, controls_widget);
}
private static void advanced_options(GameFont[] font) {
Widget advanced_options = addTabInterface(15000);
addSprite(15001, 838);
addText(15002, "Advanced Options", font, 2, 0xff981f, false, true);
addHoverButton(15003, 252, 21, 21, "Close", 250, 15004, 3);
addHoveredButton(15004, 253, 21, 21, 15005);
addConfigButton(15006, 904, 703, 704, 40, 40, "Transparent side-panel", 1, 5, 15006);
addSprite(15007, 711);
addConfigButton(15008, 904, 703, 704, 40, 40, "'Remaining XP' tooltips", 1, 5, 15008);
addSprite(15009, 682);
addConfigButton(15010, 904, 703, 704, 40, 40, "Prayer tooltips", 1, 5, 15010);
addSprite(15011, 839);
addConfigButton(15012, 904, 703, 704, 40, 40, "Special attack tooltips", 1, 5, 15012);
addSprite(15013, 840);
addConfigButton(15014, 904, 703, 704, 40, 40, "Roof-removal", 1, 5, 15014);
addSprite(15015, 681);
addConfigButton(15016, 904, 703, 704, 40, 40, "Data orbs", 1, 5, 15016);
addSprite(15017, 680);
addConfigButton(15018, 904, 703, 704, 40, 40, "Transparent Chatbox", 1, 5, 15018);
addSprite(15019, 710);
addText(15020, "Transparent chatbox...", font, 1, 0xff981f, false, false);
addConfigButton(15021, 15000, 449, 450, 15, 16, "Click trough chatbox", 1, 5, 15021);
addText(15022, "Can be clicked trough.", font, 0, 0xff981f, false, false);
addConfigButton(15023, 904, 703, 704, 40, 40, "Side-stones arrangement", 1, 5, 15023);
addSprite(15024, 709);
addText(15025, "Side-panels...", font, 1, 0xff981f, false, false);
addConfigButton(15026, 15000, 449, 450, 15, 16, "Hotkeys Behaviour", 1, 5, 15026);
addText(15027, "Can be closed by the hotkeys.", font, 0, 0xff981f, false, false);
advanced_options.totalChildren(26);
advanced_options.child(0, 15001, 95, 65);
advanced_options.child(1, 15002, 190, 77);
advanced_options.child(2, 15003, 380, 75);
advanced_options.child(3, 15004, 380, 75);
advanced_options.child(4, 15006, 107, 112);
advanced_options.child(5, 15007, 111, 116);
advanced_options.child(6, 15008, 155, 112);
advanced_options.child(7, 15009, 159, 116);
advanced_options.child(8, 15010, 205, 112);
advanced_options.child(9, 15011, 203, 112);
advanced_options.child(10, 15012, 255, 112);
advanced_options.child(11, 15013, 252, 110);
advanced_options.child(12, 15014, 305, 112);
advanced_options.child(13, 15015, 309, 115);
advanced_options.child(14, 15016, 355, 112);
advanced_options.child(15, 15017, 360, 116);
advanced_options.child(16, 15018, 107, 163);
advanced_options.child(17, 15019, 110, 166);
advanced_options.child(18, 15020, 153, 166);
advanced_options.child(19, 15021, 152, 183);
advanced_options.child(20, 15022, 173, 185);
advanced_options.child(21, 15023, 107, 215);
advanced_options.child(22, 15024, 110, 218);
advanced_options.child(23, 15025, 153, 217);
advanced_options.child(24, 15026, 152, 235);
advanced_options.child(25, 15027, 173, 237);
}
}
https://www.dropbox.com/s/laxmxco61x...tions.rar?dl=0
Kind regards,
Patrick