Files
runelite/runelite-client/src/main/scripts/MagicSpellBookRedraw.rs2asm
2021-06-16 13:05:50 +01:00

911 lines
23 KiB
Plaintext

.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 LABEL242
LABEL203:
get_varbit 6718
iconst 1
if_icmpeq LABEL207
jump LABEL242
LABEL207:
iload 18
iload 15
if_icmplt LABEL211
jump LABEL241
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:
iconst 0
iload 17
iconst 596
oc_param
if_sethide
iload 16
iload 18
set_array_int
iload 16
iconst 1
add
istore 16
iload 18
iconst 1
add
istore 18
jump LABEL207
LABEL241:
jump LABEL287
LABEL242:
iload 18
iload 15
if_icmplt LABEL246
jump LABEL287
LABEL246:
iconst 105
iconst 111
iload 14
iload 18
enum
istore 17
invoke 3160
iconst 1
if_icmpeq LABEL256
jump LABEL259
LABEL256:
iload 17
invoke 3159
istore 17
LABEL259:
iload 17
invoke 2619
iconst 1
if_icmpeq FILTER_SPELL
jump LABEL277
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 LABEL264
jump LABEL277
LABEL264:
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 LABEL282
LABEL277:
iconst 1
iload 17
iconst 596
oc_param
if_sethide
LABEL282:
iload 18
iconst 1
add
istore 18
jump LABEL242
LABEL287:
iconst 0
istore 19
iload 16
iconst 2
if_icmpge LABEL293
jump LABEL301
LABEL293:
iconst 0
iconst 0
iload 16
iconst 1
sub
iload 14
invoke 2621
jump LABEL336
LABEL301:
iload 16
iconst 0
if_icmple LABEL305
jump LABEL336
LABEL305:
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
LABEL336:
iconst 24
istore 20
iconst 0
istore 21
iconst 0
istore 22
iconst 0
istore 23
iconst 0
istore 24
iload 12
istore 25
iload 10
sconst "isMobileSpellbookEnabled"
runelite_callback
iconst 1
if_icmpeq LABEL352
jump LABEL442
LABEL352:
iload 16
iconst 15
if_icmple LABEL356
jump LABEL361
LABEL356:
iconst 40
iconst 3
sconst "resizeSpell"
runelite_callback
istore 21
istore 20
jump LABEL380
LABEL361:
iload 16
iconst 20
if_icmple LABEL365
jump LABEL370
LABEL365:
iconst 40
iconst 4
istore 21
istore 20
jump LABEL380
LABEL370:
iconst 4
iconst 7
iload 16
iconst 8
add
iconst 9
div
invoke 1046
invoke 1045
istore 21
LABEL380:
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 LABEL411
jump LABEL425
LABEL411:
iconst 0
iload 24
iload 12
iload 20
iload 22
multiply
sub
iload 22
iconst 1
sub
div
invoke 1046
invoke 1045
istore 23
LABEL425:
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 LABEL597
LABEL442:
get_varbit 6718
iconst 1
if_icmpeq LABEL446
jump LABEL518
LABEL446:
get_varbit 4070
switch
1: LABEL463
2: LABEL478
3: LABEL493
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 LABEL507
LABEL463:
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 LABEL507
LABEL478:
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 LABEL507
LABEL493:
iconst 5
iconst 9
iconst 16
iconst 3
istore 23
istore 24
istore 22
istore 21
iconst 0
iconst 0
iconst 1
iconst 0
iload 0
if_setposition
LABEL507:
iload 22
iload 20
multiply
iload 22
iconst 1
sub
iload 23
multiply
add
istore 25
jump LABEL597
LABEL518:
iload 16
iconst 28
if_icmple LABEL522
jump LABEL525
LABEL522:
iconst 4
istore 21
jump LABEL535
LABEL525:
iconst 4
iconst 7
iload 16
iconst 8
add
iconst 9
div
invoke 1046
invoke 1045
istore 21
LABEL535:
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 LABEL563
jump LABEL577
LABEL563:
iconst 0
iload 24
iload 12
iload 20
iload 22
multiply
sub
iload 22
iconst 1
sub
div
invoke 1046
invoke 1045
istore 23
LABEL577:
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
LABEL597:
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
LABEL631:
iload 18
iload 16
if_icmplt LABEL635
jump LABEL800
LABEL635:
iconst 105
iconst 111
iload 14
iload 18
get_array_int
enum
istore 17
invoke 3160
iconst 1
if_icmpeq LABEL646
jump LABEL649
LABEL646:
iload 17
invoke 3159
istore 17
LABEL649:
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
iload 20
invoke 2614
istore 30
istore 26
iload 26
iconst 1
if_icmpeq LABEL687
jump LABEL703
LABEL687:
iload 20
iconst 40
if_icmpge LABEL691
jump LABEL697
LABEL691:
iload 17
iconst 599
oc_param
iload 27
if_setgraphic
jump LABEL702
LABEL697:
iload 17
iconst 597
oc_param
iload 27
if_setgraphic
LABEL702:
jump LABEL742
LABEL703:
iload 20
iconst 40
if_icmpge LABEL707
jump LABEL713
LABEL707:
iload 17
iconst 600
oc_param
iload 27
if_setgraphic
jump LABEL718
LABEL713:
iload 17
iconst 598
oc_param
iload 27
if_setgraphic
LABEL718:
iload 30
iconst -1
if_icmpne LABEL722
jump LABEL742
LABEL722:
iload 0
iconst 5
iload 19
cc_create
iload 20
iload 20
iconst 0
iconst 0
cc_setsize
iload 31
iload 32
iconst 0
iconst 0
cc_setposition
iload 30
cc_setgraphic
iload 19
iconst 1
add
istore 19
LABEL742:
iload 27
invoke 2615
iload 10
iconst 1
if_icmpeq LABEL748
jump LABEL775
LABEL748:
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 LABEL795
LABEL775:
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
LABEL795:
iload 18
iconst 1
add
istore 18
jump LABEL631
LABEL800:
return