From 21bdf3acb87335df3153f37deb833efe0fdb568b Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 28 Apr 2021 16:32:28 +0100 Subject: [PATCH] Accessibility Scripts for visually impaired users. --- .../main/scripts/MagicSpellBookRedraw.hash | 1 + .../main/scripts/MagicSpellBookRedraw.rs2asm | 900 ++++++++++++++++++ 2 files changed, 901 insertions(+) create mode 100644 runelite-client/src/main/scripts/MagicSpellBookRedraw.hash create mode 100644 runelite-client/src/main/scripts/MagicSpellBookRedraw.rs2asm diff --git a/runelite-client/src/main/scripts/MagicSpellBookRedraw.hash b/runelite-client/src/main/scripts/MagicSpellBookRedraw.hash new file mode 100644 index 0000000000..6fe76b9327 --- /dev/null +++ b/runelite-client/src/main/scripts/MagicSpellBookRedraw.hash @@ -0,0 +1 @@ +348D3B5E9FC422BBA32893290548D211483BCC1004AAB06B0B9EC0A014E1387C \ No newline at end of file diff --git a/runelite-client/src/main/scripts/MagicSpellBookRedraw.rs2asm b/runelite-client/src/main/scripts/MagicSpellBookRedraw.rs2asm new file mode 100644 index 0000000000..71dc4bafb8 --- /dev/null +++ b/runelite-client/src/main/scripts/MagicSpellBookRedraw.rs2asm @@ -0,0 +1,900 @@ +.id 2611 +.int_stack_count 11 +.string_stack_count 2 +.int_var_count 33 +.string_var_count 2 + sconst "startSpellRedraw" + runelite_callback + iconst 190 + istore 11 + iconst 261 + istore 12 + iconst 0 + istore 13 + iload 10 + iconst 1 + if_icmpeq LABEL10 + jump LABEL76 +LABEL10: + iconst 6 + iconst 240 + iconst 1 + iconst 0 + iload 3 + if_setsize + iconst 190 + iconst 6 + sub + iconst 240 + istore 12 + istore 11 + iconst 0 + iconst 0 + iconst 1 + iconst 0 + iload 3 + if_setposition + iconst 0 + iload 4 + if_sethide + sload 0 + iconst 190 + iconst 494 + parawidth + sload 1 + iconst 190 + iconst 494 + parawidth + invoke 1045 + iconst 14 + add + istore 13 + iload 13 + iconst 0 + iconst 0 + iconst 1 + iload 5 + if_setsize + iload 13 + iconst 0 + iconst 0 + iconst 1 + iload 6 + if_setsize + iconst 190 + iload 13 + iconst 2 + multiply + sub + iconst 3 + div + istore 13 + iload 13 + iconst 0 + iconst 0 + iconst 1 + iload 5 + if_setposition + iload 13 + iconst 0 + iconst 2 + iconst 1 + iload 6 + if_setposition + jump LABEL147 +LABEL76: + get_varbit 6718 + iconst 1 + if_icmpeq LABEL80 + jump LABEL109 +LABEL80: + iconst 0 + iconst 0 + iconst 1 + iconst 1 + iload 3 + if_setsize + iconst 0 + iconst 0 + iconst 1 + iconst 1 + iload 3 + if_setposition + iconst 1 + iload 4 + if_sethide + iconst -1 + iload 10 + iload 5 + iload 6 + iload 0 + iload 1 + iload 7 + iload 8 + iload 9 + iload 2 + sload 0 + sload 1 + invoke 2603 + jump LABEL147 +LABEL109: + iconst 6 + iconst 240 + iconst 1 + iconst 0 + iload 3 + if_setsize + iconst 190 + iconst 6 + sub + iconst 240 + istore 12 + istore 11 + iconst 0 + iconst 0 + iconst 1 + iconst 0 + iload 3 + if_setposition + iconst 0 + iload 4 + if_sethide + sload 1 + iconst 190 + iconst 494 + parawidth + iconst 14 + add + iconst 0 + iconst 0 + iconst 1 + iload 6 + if_setsize + iconst 0 + iconst 0 + iconst 1 + iconst 1 + iload 6 + if_setposition +LABEL147: + iload 0 + cc_deleteall + iload 1 + cc_deleteall + iload 2 + cc_deleteall + iconst 105 + iconst 103 + iconst 1981 + get_varbit 4070 + enum + istore 14 + iload 14 + iconst 1982 + if_icmpne LABEL163 + jump LABEL165 +LABEL163: + iconst 1982 + invoke 2618 +LABEL165: + iload 14 + iconst 1983 + if_icmpne LABEL169 + jump LABEL171 +LABEL169: + iconst 1983 + invoke 2618 +LABEL171: + iload 14 + iconst 1984 + if_icmpne LABEL175 + jump LABEL177 +LABEL175: + iconst 1984 + invoke 2618 +LABEL177: + iload 14 + iconst 1985 + if_icmpne LABEL181 + jump LABEL183 +LABEL181: + iconst 1985 + invoke 2618 +LABEL183: + iload 14 + iconst -1 + if_icmpeq LABEL187 + jump LABEL188 +LABEL187: + return +LABEL188: + iload 14 + enum_getoutputcount + istore 15 + iload 15 + define_array 105 + iconst 0 + istore 16 + iconst -1 + istore 17 + iconst 0 + istore 18 + iload 10 + iconst 0 + if_icmpeq LABEL203 + jump LABEL256 +LABEL203: + get_varbit 6718 + iconst 1 + if_icmpeq LABEL207 + jump LABEL256 +LABEL207: + iload 18 + iload 15 + if_icmplt LABEL211 + jump LABEL255 +LABEL211: + iconst 105 + iconst 111 + iload 14 + iload 18 + enum + istore 17 + invoke 3160 + iconst 1 + if_icmpeq LABEL221 + jump LABEL224 +LABEL221: + iload 17 + invoke 3159 + istore 17 +LABEL224: + iload 17 + invoke 4130 + iconst 0 + if_icmpeq LABEL232 + invoke 2174 + iconst 1 + if_icmpeq LABEL232 + jump LABEL245 +LABEL232: + iconst 0 + iload 17 + iconst 596 + oc_param + if_sethide + iload 16 + iload 18 + set_array_int + iload 16 + iconst 1 + add + istore 16 + jump LABEL250 +LABEL245: + iconst 1 + iload 17 + iconst 596 + oc_param + if_sethide +LABEL250: + iload 18 + iconst 1 + add + istore 18 + jump LABEL207 +LABEL255: + jump LABEL301 +LABEL256: + iload 18 + iload 15 + if_icmplt LABEL260 + jump LABEL301 +LABEL260: + iconst 105 + iconst 111 + iload 14 + iload 18 + enum + istore 17 + invoke 3160 + iconst 1 + if_icmpeq LABEL270 + jump LABEL273 +LABEL270: + iload 17 + invoke 3159 + istore 17 +LABEL273: + iload 17 + invoke 2619 + iconst 1 + if_icmpeq FILTER_SPELL + jump LABEL291 +FILTER_SPELL: + iconst 1 ; boolean the callback modifies + iload 17 + iconst 596 ; widgetID, to populate config + oc_param + iload 17 + iconst 601 ; spell_name + oc_param ; look up from object composition + sconst "shouldFilterSpell" + runelite_callback + pop_string ; pop the name + pop_int ; and the widgetID + iconst 1 ; default true, so the script still functions without plugin on + if_icmpeq LABEL278 + jump LABEL291 +LABEL278: + iconst 0 + iload 17 + iconst 596 + oc_param + if_sethide + iload 16 + iload 18 + set_array_int + iload 16 + iconst 1 + add + istore 16 + jump LABEL296 +LABEL291: + iconst 1 + iload 17 + iconst 596 + oc_param + if_sethide +LABEL296: + iload 18 + iconst 1 + add + istore 18 + jump LABEL256 +LABEL301: + iconst 0 + istore 19 + iload 16 + iconst 2 + if_icmpge LABEL307 + jump LABEL315 +LABEL307: + iconst 0 + iconst 0 + iload 16 + iconst 1 + sub + iload 14 + invoke 2621 + jump LABEL350 +LABEL315: + iload 16 + iconst 0 + if_icmple LABEL319 + jump LABEL350 +LABEL319: + iload 0 + iconst 4 + iload 19 + cc_create + iconst 0 + iconst 0 + iconst 1 + iconst 1 + cc_setsize + iconst 0 + iconst 0 + iconst 1 + iconst 1 + cc_setposition + iconst 16750623 + cc_setcolour + iconst 495 + cc_settextfont + iconst 1 + cc_settextshadow + iconst 1 + iconst 1 + iconst 0 + cc_settextalign + sconst "No spells match your selected filters." + cc_settext + iload 19 + iconst 1 + add + istore 19 + return +LABEL350: + iconst 24 + istore 20 + iconst 0 + istore 21 + iconst 0 + istore 22 + iconst 0 + istore 23 + iconst 0 + istore 24 + iload 12 + istore 25 + iconst 0 + sconst "isMobileSpellbookEnabled" + runelite_callback + iconst 1 + if_icmpeq LABEL366 + jump LABEL456 +LABEL366: + iload 16 + iconst 15 + if_icmple LABEL370 + jump LABEL375 +LABEL370: + iconst 40 + iconst 3 + sconst "resizeSpell" + runelite_callback + istore 21 + istore 20 + jump LABEL394 +LABEL375: + iload 16 + iconst 20 + if_icmple LABEL379 + jump LABEL384 +LABEL379: + iconst 40 + iconst 4 + istore 21 + istore 20 + jump LABEL394 +LABEL384: + iconst 4 + iconst 7 + iload 16 + iconst 8 + add + iconst 9 + div + invoke 1046 + invoke 1045 + istore 21 +LABEL394: + iconst 0 + iconst 5 + iconst 7 + iload 20 + scale + iload 11 + iload 20 + iload 21 + multiply + sub + iload 21 + iconst 1 + sub + div + invoke 1046 + invoke 1045 + istore 24 + iconst 1 + iload 16 + iload 21 + iconst 1 + sub + add + iload 21 + div + invoke 1045 + istore 22 + iload 22 + iconst 2 + if_icmpge LABEL425 + jump LABEL439 +LABEL425: + iconst 0 + iload 24 + iload 12 + iload 20 + iload 22 + multiply + sub + iload 22 + iconst 1 + sub + div + invoke 1046 + invoke 1045 + istore 23 +LABEL439: + iload 22 + iload 20 + multiply + iload 22 + iconst 1 + sub + iload 23 + multiply + add + istore 25 + iconst 0 + iconst 0 + iconst 1 + iconst 1 + iload 0 + if_setposition + jump LABEL611 +LABEL456: + get_varbit 6718 + iconst 1 + if_icmpeq LABEL460 + jump LABEL532 +LABEL460: + get_varbit 4070 + switch + 1: LABEL477 + 2: LABEL492 + 3: LABEL507 + iconst 7 + iconst 10 + iconst 0 + iconst 0 + istore 23 + istore 24 + istore 22 + istore 21 + iconst 1 + iconst 15 + iconst 1 + iconst 0 + iload 0 + if_setposition + jump LABEL521 +LABEL477: + iconst 4 + iconst 7 + iconst 20 + iconst 4 + istore 23 + istore 24 + istore 22 + istore 21 + iconst 2 + iconst 8 + iconst 1 + iconst 0 + iload 0 + if_setposition + jump LABEL521 +LABEL492: + iconst 6 + iconst 8 + iconst 6 + iconst 5 + istore 23 + istore 24 + istore 22 + istore 21 + iconst 0 + iconst 8 + iconst 1 + iconst 0 + iload 0 + if_setposition + jump LABEL521 +LABEL507: + iconst 5 + iconst 9 + iconst 16 + iconst 6 + istore 23 + istore 24 + istore 22 + istore 21 + iconst 0 + iconst 3 + iconst 1 + iconst 0 + iload 0 + if_setposition +LABEL521: + iload 22 + iload 20 + multiply + iload 22 + iconst 1 + sub + iload 23 + multiply + add + istore 25 + jump LABEL611 +LABEL532: + iload 16 + iconst 28 + if_icmple LABEL536 + jump LABEL539 +LABEL536: + iconst 4 + istore 21 + jump LABEL549 +LABEL539: + iconst 4 + iconst 7 + iload 16 + iconst 8 + add + iconst 9 + div + invoke 1046 + invoke 1045 + istore 21 +LABEL549: + iconst 0 + iload 20 + iload 11 + iload 20 + iload 21 + multiply + sub + iload 21 + iconst 1 + sub + div + invoke 1046 + invoke 1045 + istore 24 + iconst 1 + iload 16 + iload 21 + iconst 1 + sub + add + iload 21 + div + invoke 1045 + istore 22 + iload 22 + iconst 2 + if_icmpge LABEL577 + jump LABEL591 +LABEL577: + iconst 0 + iload 24 + iload 12 + iload 20 + iload 22 + multiply + sub + iload 22 + iconst 1 + sub + div + invoke 1046 + invoke 1045 + istore 23 +LABEL591: + iload 22 + iload 20 + multiply + iload 22 + iconst 1 + sub + iload 23 + multiply + add + iload 12 + iconst 30 + sub + invoke 1045 + istore 25 + iconst 0 + iconst 0 + iconst 1 + iconst 1 + iload 0 + if_setposition +LABEL611: + iload 21 + iload 20 + multiply + iload 21 + iconst 1 + sub + iload 24 + multiply + add ; start of the label until here calcs total width + iload 25 ; total height + sconst "setSpellAreaSize" + runelite_callback + iconst 0 + iconst 0 + iload 0 + if_setsize + iconst 0 + istore 26 + iconst -1 + istore 27 + iload 20 + iload 24 + add + istore 28 + iload 20 + iload 23 + add + istore 29 + iconst -1 + istore 30 + iconst 0 + istore 31 + iconst 0 + istore 32 + iconst 0 + istore 18 +LABEL645: + iload 18 + iload 16 + if_icmplt LABEL649 + jump LABEL789 +LABEL649: + iconst 105 + iconst 111 + iload 14 + iload 18 + get_array_int + enum + istore 17 + invoke 3160 + iconst 1 + if_icmpeq LABEL660 + jump LABEL663 +LABEL660: + iload 17 + invoke 3159 + istore 17 +LABEL663: + iload 17 + iconst 596 + oc_param + istore 27 + iload 20 + iload 20 + iload 27 + sconst "resizeIndividualSpells" + runelite_callback + pop_int + iconst 0 + iconst 0 + iload 27 + if_setsize + iload 18 + iload 21 + mod + iload 28 + multiply + iload 18 + iload 21 + div + iload 29 + multiply + istore 32 + istore 31 + iload 31 + iload 32 + iconst 0 + iconst 0 + iload 27 + sconst "setSpellPosition" + runelite_callback + if_setposition + iload 17 + iload 27 + invoke 2614 + istore 30 + istore 26 + iload 26 + iconst 1 + if_icmpeq LABEL700 + jump LABEL716 +LABEL700: + iload 20 + iconst 40 + if_icmpge LABEL704 + jump LABEL710 +LABEL704: + iload 17 + iconst 599 + oc_param + iload 27 + if_setgraphic + jump LABEL715 +LABEL710: + iload 17 + iconst 597 + oc_param + iload 27 + if_setgraphic +LABEL715: + jump LABEL731 +LABEL716: + iload 20 + iconst 40 + if_icmpge LABEL720 + jump LABEL726 +LABEL720: + iload 17 + iconst 600 + oc_param + iload 27 + if_setgraphic + jump LABEL731 +LABEL726: + iload 17 + iconst 598 + oc_param + iload 27 + if_setgraphic +LABEL731: + iload 27 + invoke 2615 + iload 10 + iconst 1 + if_icmpeq LABEL737 + jump LABEL764 +LABEL737: + iload 1 + iconst 5 + iload 18 + cc_create + iload 20 + iload 20 + iconst 0 + iconst 0 + cc_setsize + iload 31 + iload 32 + iconst 0 + iconst 0 + cc_setposition + iload 17 + iconst 1 + cc_setobject + iconst 255 + cc_settrans + iconst 2612 + iload 17 + iload 1 + iload 2 + iload 12 + sconst "oIIi" + cc_setonclick + jump LABEL784 +LABEL764: + iconst 2622 + iconst 1 + iload 17 + iconst -2147483645 + iconst -1 + iload 2 + iload 12 + sconst "1oIiIi" + iload 27 + if_setonmouserepeat + iconst 2622 + iconst 0 + iload 17 + iconst -2147483645 + iconst -1 + iload 2 + iload 12 + sconst "1oIiIi" + iload 27 + if_setonmouseleave +LABEL784: + iload 18 + iconst 1 + add + istore 18 + jump LABEL645 +LABEL789: + return