diff --git a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java
index 7688a64a9c..69a3c0beae 100644
--- a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java
+++ b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java
@@ -46,6 +46,7 @@ import net.runelite.api.MessageNode;
import net.runelite.api.Varbits;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.ResizeableChanged;
+import net.runelite.api.events.ScriptCallbackEvent;
import net.runelite.api.events.SetMessage;
import net.runelite.api.events.VarbitChanged;
import net.runelite.client.config.ChatColorConfig;
@@ -164,6 +165,37 @@ public class ChatMessageManager
}
}
+ @Subscribe
+ public void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent)
+ {
+ final String eventName = scriptCallbackEvent.getEventName();
+
+ switch (eventName)
+ {
+ case "privateChatFrom":
+ case "privateChatTo":
+ case "privateChatSplitFrom":
+ case "privateChatSplitTo":
+ break;
+ default:
+ return;
+ }
+
+ boolean isChatboxTransparent = client.isResized() && client.getVar(Varbits.TRANSPARENT_CHATBOX) == 1;
+ Color usernameColor = isChatboxTransparent ? chatColorConfig.transparentPrivateUsernames() : chatColorConfig.opaquePrivateUsernames();
+ if (usernameColor == null)
+ {
+ return;
+ }
+
+ final String[] stringStack = client.getStringStack();
+ final int stringStackSize = client.getStringStackSize();
+
+ // Stack is: To/From playername :
+ String toFrom = stringStack[stringStackSize - 3];
+ stringStack[stringStackSize - 3] = ColorUtil.prependColorTag(toFrom, usernameColor);
+ }
+
private static Color getDefaultColor(ChatMessageType type, boolean transparent)
{
if (!transparent)
diff --git a/runelite-client/src/main/scripts/ChatBuilder.hash b/runelite-client/src/main/scripts/ChatBuilder.hash
new file mode 100644
index 0000000000..c0d38c0cc0
--- /dev/null
+++ b/runelite-client/src/main/scripts/ChatBuilder.hash
@@ -0,0 +1 @@
+E9076990244AE02E1CEB3E8F966C86975CDC654F11655B7B211812FBB5AC23AA
\ No newline at end of file
diff --git a/runelite-client/src/main/scripts/ChatBuilder.rs2asm b/runelite-client/src/main/scripts/ChatBuilder.rs2asm
new file mode 100644
index 0000000000..0a0b39e5f0
--- /dev/null
+++ b/runelite-client/src/main/scripts/ChatBuilder.rs2asm
@@ -0,0 +1,902 @@
+.id 84
+.int_stack_count 1
+.string_stack_count 0
+.int_var_count 15
+.string_var_count 13
+ load_int 10616890
+ widget_get_width_widget
+ istore 1
+ get_localplayer_name
+ string_remove_html
+ sstore 0
+ load_int 0
+ istore 2
+ get_varc 41
+ load_int 3
+ if_icmpeq LABEL12
+ jump LABEL14
+LABEL12:
+ load_int 1
+ istore 2
+LABEL14:
+ load_int 0
+ istore 3
+ load_int 0
+ istore 4
+ load_string "
"
+ sstore 1
+ load_string ""
+ sstore 2
+ load_string ""
+ sstore 3
+ load_string ""
+ sstore 4
+ load_string ""
+ sstore 5
+ load_string ""
+ sstore 6
+ load_string ""
+ sstore 7
+ load_string ""
+ sstore 8
+ invoke 921
+ load_int 1
+ if_icmpeq LABEL38
+ jump LABEL58
+LABEL38:
+ load_int 16777215
+ load_int 1
+ istore 4
+ istore 3
+ load_string ""
+ load_string ""
+ load_string ""
+ load_string ""
+ sstore 4
+ sstore 3
+ sstore 2
+ sstore 1
+ load_string ""
+ load_string ""
+ load_string ""
+ load_string ""
+ sstore 8
+ sstore 7
+ sstore 6
+ sstore 5
+LABEL58:
+ load_int 0
+ istore 5
+ load_int 0
+ istore 6
+ load_int 0
+ istore 7
+ load_int 105
+ load_int 73
+ load_int 579
+ iload 7
+ get_enum_value
+ istore 8
+ get_varc 41
+ load_int 0
+ if_icmpeq LABEL77
+ get_varc 41
+ load_int 2
+ if_icmpeq LABEL77
+ jump LABEL133
+LABEL77:
+ 5022
+ string_length
+ load_int 0
+ if_icmpgt LABEL82
+ jump LABEL133
+LABEL82:
+ sload 1
+ load_string "Public chat filtering:"
+ load_string ""
+ load_string " "
+ load_string ""
+ 5022
+ appendtags
+ tolowercase
+ load_string ""
+ string_append 7
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 199
+ istore 6
+ iload 8
+ widget_put_actions_null_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_option_click_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_exit_listener_widget
+ iload 5
+ iload 6
+ isub
+ istore 5
+ iload 7
+ load_int 1
+ iadd
+ istore 7
+ load_int 105
+ load_int 73
+ load_int 579
+ iload 7
+ get_enum_value
+ istore 8
+LABEL133:
+ iload 0
+ istore 9
+ load_int 0
+ istore 10
+ load_int -1
+ istore 11
+ load_string ""
+ sstore 9
+ load_string ""
+ sstore 10
+ load_string ""
+ sstore 11
+ load_string ""
+ sstore 12
+ load_int 0
+ istore 12
+LABEL149:
+ iload 9
+ load_int -1
+ if_icmpne LABEL153
+ jump LABEL645
+LABEL153:
+ iload 8
+ load_int -1
+ if_icmpne LABEL157
+ jump LABEL645
+LABEL157:
+ iload 9
+ get_chat_message
+ istore 12
+ sstore 11
+ sstore 10
+ sstore 9
+ istore 11
+ istore 10
+ iload 10
+ sload 9
+ iload 12
+ invoke 193
+ load_int 1
+ if_icmpeq LABEL172
+ jump LABEL641
+LABEL172:
+ iload 10
+ sload 9
+ sload 11
+ iload 11
+ iload 2
+ sload 0
+ iload 12
+ invoke 90
+ load_int 1
+ if_icmpeq LABEL183
+ jump LABEL641
+LABEL183:
+ iload 10
+ switch
+ 1: LABEL186
+ 2: LABEL186
+ 3: LABEL228
+ 101: LABEL250
+ 5: LABEL268
+ 6: LABEL301
+ 7: LABEL228
+ 103: LABEL323
+ 104: LABEL323
+ 9: LABEL341
+ 107: LABEL390
+ 14: LABEL367
+ 90: LABEL207
+ 91: LABEL207
+ jump LABEL426
+LABEL186:
+ sload 9
+ load_string ":"
+ string_append 2
+ sload 1
+ sload 11
+ load_string ""
+ string_append 3
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 203
+ istore 6
+ jump LABEL440
+LABEL207:
+ sload 9
+ load_string ":"
+ string_append 2
+ sload 3
+ sload 11
+ load_string ""
+ string_append 3
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 203
+ istore 6
+ jump LABEL440
+LABEL228:
+ load_string "From "
+ sload 9
+ load_string ":"
+ load_string "privateChatFrom"
+ runelite_callback
+ string_append 3
+ sload 2
+ sload 11
+ load_string ""
+ string_append 3
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 203
+ istore 6
+ jump LABEL440
+LABEL250:
+ sload 7
+ sload 11
+ load_string ""
+ string_append 3
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 199
+ istore 6
+ jump LABEL440
+LABEL268:
+ sload 2
+ sload 11
+ load_string ""
+ string_append 3
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 199
+ istore 6
+ get_varbit 1627
+ load_int 0
+ if_icmpeq LABEL289
+ jump LABEL300
+LABEL289:
+ iload 11
+ load_int 500
+ iadd
+ load_int 1
+ iadd
+ put_varc 65
+ load_int 664
+ load_int 0
+ load_string "1"
+ load_int 10616832
+ widget_put_render_listener_widget
+LABEL300:
+ jump LABEL440
+LABEL301:
+ load_string "To "
+ sload 9
+ load_string ":"
+ load_string "privateChatTo"
+ runelite_callback
+ string_append 3
+ sload 2
+ sload 11
+ load_string ""
+ string_append 3
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 203
+ istore 6
+ jump LABEL440
+LABEL323:
+ sload 8
+ sload 11
+ load_string ""
+ string_append 3
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 199
+ istore 6
+ jump LABEL440
+LABEL341:
+ load_string "["
+ sload 5
+ sload 10
+ load_string ""
+ load_string "] "
+ sload 9
+ load_string ":"
+ string_append 7
+ sload 6
+ sload 11
+ load_string ""
+ string_append 3
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 203
+ istore 6
+ jump LABEL440
+LABEL367:
+ sload 11
+ invoke 2066
+ sstore 12
+ sstore 11
+ sload 4
+ load_string "Broadcast:"
+ load_string ""
+ string_append 3
+ sload 11
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 203
+ istore 6
+ jump LABEL440
+LABEL390:
+ get_gamecycle
+ iload 11
+ isub
+ load_int 500
+ if_icmpgt LABEL396
+ jump LABEL411
+LABEL396:
+ load_string "jk :P"
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 199
+ istore 6
+ jump LABEL425
+LABEL411:
+ sload 11
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 199
+ istore 6
+LABEL425:
+ jump LABEL440
+LABEL426:
+ sload 11
+ iload 7
+ iload 8
+ load_int 10616890
+ iload 1
+ load_int 3
+ load_int 14
+ iload 5
+ load_int 0
+ load_int 103
+ iload 3
+ iload 4
+ invoke 199
+ istore 6
+LABEL440:
+ iload 8
+ widget_put_actions_null_widget
+ iload 10
+ switch
+ 1: LABEL445
+ 2: LABEL445
+ 3: LABEL445
+ 101: LABEL510
+ 6: LABEL445
+ 7: LABEL445
+ 103: LABEL535
+ 104: LABEL535
+ 9: LABEL445
+ 106: LABEL445
+ 14: LABEL560
+ 90: LABEL445
+ 91: LABEL445
+ jump LABEL615
+LABEL445:
+ load_string ""
+ sload 9
+ load_string ""
+ string_append 3
+ iload 8
+ widget_put_name_widget
+ load_int 86
+ load_int -2147483644
+ load_string "event_opbase"
+ load_string "is"
+ iload 8
+ widget_put_option_click_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_exit_listener_widget
+ sload 0
+ sload 9
+ string_remove_html
+ string_compare
+ load_int 0
+ if_icmpne LABEL472
+ jump LABEL509
+LABEL472:
+ iload 12
+ load_int 1
+ if_icmpeq LABEL476
+ jump LABEL481
+LABEL476:
+ load_int 6
+ load_string "Message"
+ iload 8
+ widget_put_action_widget
+ jump LABEL489
+LABEL481:
+ load_int 6
+ load_string "Add friend"
+ iload 8
+ widget_put_action_widget
+ load_int 7
+ load_string "Add ignore"
+ iload 8
+ widget_put_action_widget
+LABEL489:
+ load_int 8
+ load_string "Report"
+ iload 8
+ widget_put_action_widget
+ iload 10
+ load_int 9
+ if_icmpeq LABEL497
+ jump LABEL509
+LABEL497:
+ get_clanchatcount
+ load_int 0
+ if_icmpgt LABEL501
+ jump LABEL509
+LABEL501:
+ get_clanchat_rank
+ clanchat_kick_rank
+ if_icmpge LABEL505
+ jump LABEL509
+LABEL505:
+ load_int 9
+ load_string "Kick"
+ iload 8
+ widget_put_action_widget
+LABEL509:
+ jump LABEL627
+LABEL510:
+ load_string ""
+ sload 9
+ load_string ""
+ string_append 3
+ iload 8
+ widget_put_name_widget
+ load_int 86
+ load_int -2147483644
+ load_string "event_opbase"
+ load_string "is"
+ iload 8
+ widget_put_option_click_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_exit_listener_widget
+ load_int 1
+ load_string "Accept trade"
+ iload 8
+ widget_put_action_widget
+ jump LABEL627
+LABEL535:
+ load_string ""
+ sload 9
+ load_string ""
+ string_append 3
+ iload 8
+ widget_put_name_widget
+ load_int 86
+ load_int -2147483644
+ load_string "event_opbase"
+ load_string "is"
+ iload 8
+ widget_put_option_click_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_exit_listener_widget
+ load_int 2
+ load_string "Accept challenge"
+ iload 8
+ widget_put_action_widget
+ jump LABEL627
+LABEL560:
+ sload 12
+ string_length
+ load_int 0
+ if_icmpgt LABEL565
+ jump LABEL590
+LABEL565:
+ load_int 6
+ load_string "Open"
+ iload 8
+ widget_put_action_widget
+ load_int 7
+ load_string "Check"
+ iload 8
+ widget_put_action_widget
+ load_int 2065
+ iload 8
+ widget_get_parentid_widget
+ iload 7
+ load_int 3158271
+ load_string "Iii"
+ iload 8
+ widget_put_mouse_hover_listener_widget
+ load_int 2065
+ iload 8
+ widget_get_parentid_widget
+ iload 7
+ iload 3
+ load_string "Iii"
+ iload 8
+ widget_put_mouse_exit_listener_widget
+ jump LABEL598
+LABEL590:
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_exit_listener_widget
+LABEL598:
+ load_int 9
+ load_string "Clear history"
+ iload 8
+ widget_put_action_widget
+ load_string ""
+ load_string "Notification"
+ load_string ""
+ string_append 3
+ iload 8
+ widget_put_name_widget
+ load_int 2064
+ load_int -2147483644
+ sload 12
+ load_string "is"
+ iload 8
+ widget_put_option_click_listener_widget
+ jump LABEL627
+LABEL615:
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_option_click_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_exit_listener_widget
+LABEL627:
+ iload 5
+ iload 6
+ isub
+ istore 5
+ iload 7
+ load_int 1
+ iadd
+ istore 7
+ load_int 105
+ load_int 73
+ load_int 579
+ iload 7
+ get_enum_value
+ istore 8
+LABEL641:
+ iload 9
+ get_messagenode_next_id
+ istore 9
+ jump LABEL149
+LABEL645:
+ iload 7
+ istore 13
+LABEL647:
+ iload 8
+ load_int -1
+ if_icmpne LABEL651
+ jump LABEL708
+LABEL651:
+ iload 8
+ widget_put_actions_null_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_option_click_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 8
+ widget_put_mouse_exit_listener_widget
+ load_int 0
+ load_int 0
+ load_int 0
+ load_int 0
+ iload 8
+ widget_put_size_widget
+ load_int 10616890
+ iload 7
+ load_int 2
+ imul
+ widget_load_child
+ load_int 1
+ if_icmpeq LABEL679
+ jump LABEL683
+LABEL679:
+ load_string ""
+ widget_put_text
+ load_int 1
+ widget_put_hidden
+LABEL683:
+ load_int 10616890
+ iload 7
+ load_int 2
+ imul
+ load_int 1
+ iadd
+ widget_load_child
+ load_int 1
+ if_icmpeq LABEL693
+ jump LABEL697
+LABEL693:
+ load_string ""
+ widget_put_text
+ load_int 1
+ widget_put_hidden
+LABEL697:
+ iload 7
+ load_int 1
+ iadd
+ istore 7
+ load_int 105
+ load_int 73
+ load_int 579
+ iload 7
+ get_enum_value
+ istore 8
+ jump LABEL647
+LABEL708:
+ iload 5
+ load_int 2
+ isub
+ istore 5
+ load_int 0
+ iload 5
+ isub
+ istore 5
+ load_int 10616890
+ widget_get_height_widget
+ istore 14
+ iload 5
+ iload 14
+ if_icmpgt LABEL723
+ jump LABEL725
+LABEL723:
+ iload 5
+ istore 14
+LABEL725:
+ iload 13
+ istore 7
+LABEL727:
+ iload 7
+ load_int 0
+ if_icmpgt LABEL731
+ jump LABEL784
+LABEL731:
+ iload 7
+ load_int 1
+ isub
+ istore 7
+ load_int 105
+ load_int 73
+ load_int 579
+ iload 7
+ get_enum_value
+ istore 8
+ iload 8
+ widget_get_relativey_widget
+ iload 14
+ iadd
+ load_int 2
+ isub
+ istore 5
+ iload 8
+ widget_get_relativex_widget
+ iload 5
+ load_int 0
+ load_int 0
+ iload 8
+ widget_put_position_widget
+ load_int 10616890
+ iload 7
+ load_int 2
+ imul
+ widget_load_child
+ load_int 1
+ if_icmpeq LABEL763
+ jump LABEL768
+LABEL763:
+ widget_get_relativex
+ iload 5
+ load_int 0
+ load_int 0
+ widget_put_position
+LABEL768:
+ load_int 10616890
+ iload 7
+ load_int 2
+ imul
+ load_int 1
+ iadd
+ widget_load_child
+ load_int 1
+ if_icmpeq LABEL778
+ jump LABEL783
+LABEL778:
+ widget_get_relativex
+ iload 5
+ load_int 0
+ load_int 0
+ widget_put_position
+LABEL783:
+ jump LABEL727
+LABEL784:
+ load_int 0
+ iload 14
+ load_int 10616890
+ widget_put_scrollwidthheight_widget
+ load_int 10617391
+ load_int 10616890
+ get_varc 7
+ iload 14
+ get_varc 8
+ isub
+ iadd
+ invoke 72
+ load_int 10616890
+ widget_get_scrolly_widget
+ iload 14
+ put_varc 8
+ put_varc 7
+ return
diff --git a/runelite-client/src/main/scripts/ChatSplitBuilder.hash b/runelite-client/src/main/scripts/ChatSplitBuilder.hash
new file mode 100644
index 0000000000..e71389fb55
--- /dev/null
+++ b/runelite-client/src/main/scripts/ChatSplitBuilder.hash
@@ -0,0 +1 @@
+008FA4B7983DF14899909AF361AD2DE955DE552E78FAF8C6604E848D1776B4F0
\ No newline at end of file
diff --git a/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm b/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm
new file mode 100644
index 0000000000..39fa1e7b3c
--- /dev/null
+++ b/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm
@@ -0,0 +1,599 @@
+.id 89
+.int_stack_count 1
+.string_stack_count 0
+.int_var_count 16
+.string_var_count 4
+ load_int 0
+ istore 1
+ load_int 2
+ istore 2
+ load_int 103
+ istore 3
+ load_int 4
+ istore 4
+ load_int 23
+ istore 5
+ invoke 900
+ istore 6
+ load_int 103
+ load_int 105
+ load_int 1136
+ iload 6
+ get_enum_value
+ load_int 0
+ if_icmpgt LABEL20
+ jump LABEL58
+LABEL20:
+ iload 6
+ load_int 1745
+ if_icmpeq LABEL24
+ jump LABEL36
+LABEL24:
+ load_int 0
+ load_int 102
+ load_int 103
+ load_int 105
+ load_int 1960
+ iload 6
+ get_enum_value
+ load_int 30
+ istore 5
+ istore 1
+ istore 3
+ istore 2
+LABEL36:
+ get_varc 41
+ load_int -1
+ if_icmpeq LABEL40
+ jump LABEL49
+LABEL40:
+ invoke 922
+ load_int 1
+ if_icmpeq LABEL44
+ jump LABEL49
+LABEL44:
+ iload 4
+ iload 5
+ iadd
+ istore 4
+ jump LABEL58
+LABEL49:
+ iload 4
+ load_int 73
+ load_int 73
+ iload 6
+ load_int 10551325
+ get_enum_value
+ widget_get_height_widget
+ iadd
+ istore 4
+LABEL58:
+ iload 4
+ istore 7
+ load_int 10682368
+ widget_get_width_widget
+ istore 8
+ load_int 0
+ istore 9
+ load_int 105
+ load_int 73
+ load_int 580
+ iload 9
+ get_enum_value
+ istore 10
+ load_int 0
+ istore 11
+ load_string ""
+ sstore 0
+ get_system_update_timer
+ load_int 0
+ if_icmpgt LABEL79
+ jump LABEL156
+LABEL79:
+ get_system_update_timer
+ load_int 50
+ idiv
+ load_int 60
+ modulo
+ istore 11
+ iload 11
+ load_int 10
+ if_icmplt LABEL89
+ jump LABEL100
+LABEL89:
+ load_string "System update in: "
+ get_system_update_timer
+ load_int 3000
+ idiv
+ int_to_string
+ load_string ":0"
+ iload 11
+ int_to_string
+ string_append 4
+ sstore 0
+ jump LABEL110
+LABEL100:
+ load_string "System update in: "
+ get_system_update_timer
+ load_int 3000
+ idiv
+ int_to_string
+ load_string ":"
+ iload 11
+ int_to_string
+ string_append 4
+ sstore 0
+LABEL110:
+ iload 7
+ sload 0
+ iload 9
+ iload 10
+ load_int 10682368
+ iload 8
+ iload 1
+ load_int 13
+ iload 7
+ iload 2
+ iload 3
+ load_int 16776960
+ load_int 1
+ invoke 199
+ iadd
+ istore 7
+ iload 10
+ widget_put_actions_null_widget
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_option_click_listener_widget
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_mouse_exit_listener_widget
+ load_int 0
+ load_int 0
+ load_int 0
+ load_int 0
+ iload 10
+ widget_put_size_widget
+ iload 9
+ load_int 1
+ iadd
+ istore 9
+ load_int 105
+ load_int 73
+ load_int 580
+ iload 9
+ get_enum_value
+ istore 10
+LABEL156:
+ load_int -1
+ istore 12
+ load_int -1
+ istore 13
+ load_string ""
+ sstore 1
+ load_int 0
+ istore 14
+ load_string ""
+ sstore 2
+ load_string ""
+ sstore 3
+ get_varc 55
+ get_varc 202
+ if_icmpge LABEL172
+ jump LABEL282
+LABEL172:
+ get_varc 55
+ get_gamecycle
+ load_int 3000
+ isub
+ if_icmpgt LABEL178
+ jump LABEL282
+LABEL178:
+ load_int 14
+ get_chatlinebuffer_length
+ load_int 0
+ if_icmpgt LABEL183
+ jump LABEL282
+LABEL183:
+ load_int 14
+ load_int 0
+ get_chat_message_type
+ istore 14
+ sstore 0
+ sstore 2
+ sstore 1
+ istore 13
+ istore 12
+ iload 12
+ load_int -1
+ if_icmpne LABEL196
+ jump LABEL282
+LABEL196:
+ sload 0
+ invoke 2066
+ sstore 3
+ sstore 0
+ iload 7
+ sload 0
+ iload 9
+ iload 10
+ load_int 10682368
+ iload 8
+ iload 1
+ load_int 13
+ iload 7
+ iload 2
+ iload 3
+ load_int 16776960
+ load_int 1
+ invoke 199
+ iadd
+ istore 7
+ iload 10
+ widget_put_actions_null_widget
+ sload 3
+ string_length
+ load_int 0
+ if_icmpgt LABEL223
+ jump LABEL248
+LABEL223:
+ load_int 6
+ load_string "Open"
+ iload 10
+ widget_put_action_widget
+ load_int 7
+ load_string "Check"
+ iload 10
+ widget_put_action_widget
+ load_int 2065
+ iload 10
+ widget_get_parentid_widget
+ iload 9
+ load_int 16777215
+ load_string "Iii"
+ iload 10
+ widget_put_mouse_hover_listener_widget
+ load_int 2065
+ iload 10
+ widget_get_parentid_widget
+ iload 9
+ load_int 16776960
+ load_string "Iii"
+ iload 10
+ widget_put_mouse_exit_listener_widget
+ jump LABEL256
+LABEL248:
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_mouse_exit_listener_widget
+LABEL256:
+ load_int 9
+ load_string "Clear history"
+ iload 10
+ widget_put_action_widget
+ load_string ""
+ load_string "Notification"
+ load_string ""
+ string_append 3
+ iload 10
+ widget_put_name_widget
+ load_int 2064
+ load_int -2147483644
+ sload 3
+ load_string "is"
+ iload 10
+ widget_put_option_click_listener_widget
+ iload 9
+ load_int 1
+ iadd
+ istore 9
+ load_int 105
+ load_int 73
+ load_int 580
+ iload 9
+ get_enum_value
+ istore 10
+LABEL282:
+ iload 0
+ istore 12
+ load_int 0
+ istore 15
+ get_varp 287
+ load_int 1
+ if_icmpeq LABEL290
+ jump LABEL479
+LABEL290:
+ get_varc 41
+ load_int -1
+ if_icmpne LABEL297
+ get_varbit 4089
+ load_int 0
+ if_icmpeq LABEL297
+ jump LABEL479
+LABEL297:
+ iload 12
+ load_int -1
+ if_icmpne LABEL301
+ jump LABEL479
+LABEL301:
+ iload 10
+ load_int -1
+ if_icmpne LABEL305
+ jump LABEL479
+LABEL305:
+ iload 7
+ iload 4
+ isub
+ load_int 57
+ if_icmplt LABEL311
+ jump LABEL479
+LABEL311:
+ iload 12
+ get_chat_message
+ istore 14
+ sstore 0
+ sstore 2
+ sstore 1
+ istore 13
+ istore 15
+ iload 15
+ sload 1
+ iload 13
+ iload 14
+ invoke 91
+ load_int 1
+ if_icmpeq LABEL327
+ jump LABEL475
+LABEL327:
+ iload 15
+ switch
+ 3: LABEL330
+ 6: LABEL351
+ 7: LABEL330
+ jump LABEL372
+LABEL330:
+ iload 7
+ load_string "From "
+ sload 1
+ load_string ":"
+ load_string "privateChatSplitFrom"
+ runelite_callback
+ string_append 3
+ sload 0
+ iload 9
+ iload 10
+ load_int 10682368
+ iload 8
+ iload 1
+ load_int 13
+ iload 7
+ iload 2
+ iload 3
+ load_int 65535
+ load_int 1
+ invoke 203
+ iadd
+ istore 7
+ jump LABEL407
+LABEL351:
+ iload 7
+ load_string "To "
+ sload 1
+ load_string ":"
+ load_string "privateChatSplitTo"
+ runelite_callback
+ string_append 3
+ sload 0
+ iload 9
+ iload 10
+ load_int 10682368
+ iload 8
+ iload 1
+ load_int 13
+ iload 7
+ iload 2
+ iload 3
+ load_int 65535
+ load_int 1
+ invoke 203
+ iadd
+ istore 7
+ jump LABEL407
+LABEL372:
+ iload 7
+ sload 0
+ iload 9
+ iload 10
+ load_int 10682368
+ iload 8
+ iload 1
+ load_int 13
+ iload 7
+ iload 2
+ iload 3
+ load_int 65535
+ load_int 1
+ invoke 199
+ iadd
+ istore 7
+ iload 15
+ load_int 5
+ if_icmpeq LABEL392
+ jump LABEL407
+LABEL392:
+ get_varbit 1627
+ load_int 0
+ if_icmpeq LABEL396
+ jump LABEL407
+LABEL396:
+ iload 13
+ load_int 500
+ iadd
+ load_int 1
+ iadd
+ put_varc 65
+ load_int 664
+ load_int 0
+ load_string "1"
+ load_int 10616832
+ widget_put_render_listener_widget
+LABEL407:
+ iload 10
+ widget_put_actions_null_widget
+ iload 15
+ load_int 3
+ if_icmpeq LABEL419
+ iload 15
+ load_int 6
+ if_icmpeq LABEL419
+ iload 15
+ load_int 7
+ if_icmpeq LABEL419
+ jump LABEL453
+LABEL419:
+ iload 14
+ load_int 1
+ if_icmpeq LABEL423
+ jump LABEL428
+LABEL423:
+ load_int 8
+ load_string "Message"
+ iload 10
+ widget_put_action_widget
+ jump LABEL436
+LABEL428:
+ load_int 8
+ load_string "Add friend"
+ iload 10
+ widget_put_action_widget
+ load_int 9
+ load_string "Add ignore"
+ iload 10
+ widget_put_action_widget
+LABEL436:
+ load_int 10
+ load_string "Report"
+ iload 10
+ widget_put_action_widget
+ load_string ""
+ sload 1
+ load_string ""
+ string_append 3
+ iload 10
+ widget_put_name_widget
+ load_int 88
+ load_int -2147483644
+ load_string "event_opbase"
+ load_string "is"
+ iload 10
+ widget_put_option_click_listener_widget
+ jump LABEL457
+LABEL453:
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_option_click_listener_widget
+LABEL457:
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_mouse_exit_listener_widget
+ iload 9
+ load_int 1
+ iadd
+ istore 9
+ load_int 105
+ load_int 73
+ load_int 580
+ iload 9
+ get_enum_value
+ istore 10
+LABEL475:
+ iload 12
+ get_messagenode_next_id
+ istore 12
+ jump LABEL297
+LABEL479:
+ iload 10
+ load_int -1
+ if_icmpne LABEL483
+ jump LABEL540
+LABEL483:
+ iload 10
+ widget_put_actions_null_widget
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_option_click_listener_widget
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_mouse_hover_listener_widget
+ load_int -1
+ load_string ""
+ iload 10
+ widget_put_mouse_exit_listener_widget
+ load_int 0
+ load_int 0
+ load_int 0
+ load_int 0
+ iload 10
+ widget_put_size_widget
+ load_int 10682368
+ iload 9
+ load_int 2
+ imul
+ widget_load_child
+ load_int 1
+ if_icmpeq LABEL511
+ jump LABEL515
+LABEL511:
+ load_string ""
+ widget_put_text
+ load_int 1
+ widget_put_hidden
+LABEL515:
+ load_int 10682368
+ iload 9
+ load_int 2
+ imul
+ load_int 1
+ iadd
+ widget_load_child
+ load_int 1
+ if_icmpeq LABEL525
+ jump LABEL529
+LABEL525:
+ load_string ""
+ widget_put_text
+ load_int 1
+ widget_put_hidden
+LABEL529:
+ iload 9
+ load_int 1
+ iadd
+ istore 9
+ load_int 105
+ load_int 73
+ load_int 580
+ iload 9
+ get_enum_value
+ istore 10
+ jump LABEL479
+LABEL540:
+ return