let do_register_predicates () = begin
regp p_q3uiip "q3_uiip" "In Q3 logs, keep lines with userinfo string & ip" "\nIn games based on the Quake3 Engine, a string called the userinfo string stores\nvaluable information such as player name and IP address.\n \nFor instance, \"\\ip\\12.234.22.11:5656\\name\\Gamall\\etc...\" looks like a userinfo \nstring.\n \nThis predicate keeps only the lines where a userinfo strings containing an IP\naddress appears.\n \nNot that this predicate has an homonym transform.";
regp p_jk_servinit "jk_sinit" "In Jedi Knight, keep server initialisation (maps)" "\nIn Jedi Knight servers, lines such as \n \n ------ Server Initialization ------\n Server: mp/ffa1\n \nindicate the map loaded on the server.\n \nThis predicate keeps only those lines, yielding the list of the maps loaded \non the server.";
regp p_jk_event "jk_event" "In Jedi Knight, keep localised game events" "\nIn Jedi Knight servers, some log lines read that way:\n-> \"broadcast: print \"Gamall Wednesday Ida @@@PLRENAME Padawan\\n\"\"\nThe symbol prefixed by @@@ is replaced by localised strings in the game clients.\n \nSo these lines indicate lots of game events, connections, disconnections, \nkicks and bans, timelimits and much more.\n \nThis predicate only keeps lines of this form.\n \nIt has an homonym transform which removes the broadcast instructions from\nthe actual message.";
regp p_jk_pdlgs "jk_pdlgs" "In Jedi Knight, keep private dialogues (tell)" "\nIn Jedi Knight servers, lines such as\n tell: from_name to to_name: private message\nindicate private messages.\n \nThis predicate only keeps those lines.\n \nNote that there are other predicates about dialogues:\nSee jk_adlgs and jk_dlgs.\n \nThere is an associated transform: jk_dlgs.";
regp p_jk_adlgs "jk_adlgs" "In Jedi Knight, keep all dialogues (say and tell)" "\nIn Jedi Knight servers, lines such as\n tell: from_name to to_name: private message\nindicate private messages, and lines such as\n say: name: message\nindicate public messages.\n \nThis predicate only keeps those lines.\n \nNote that there are other predicates about dialogues:\nSee jk_pdlgs and jk_dlgs.\n \nThere is an associated transform: jk_dlgs.";
regp p_jk_dlgs "jk_dlgs" "In Jedi Knight, keep only public dialogues (say)" "\nIn Jedi Knight servers, lines such as\n say: name: message\nindicate public messages.\n \nThis predicate only keeps those lines.\n \nNote that there are other predicates about dialogues:\nSee jk_adlgs and jk_pdlgs.\n \nThere is an associated transform: jk_dlgs.";
regp p_none "none" "Block all lines. Closed filter" "\nThis predicate always yields false, which means it keeps no line.\n \nIt is there only for the sake of completeness, but I doubt it has\nany practical use besides debugging.";
regp p_all "all" "Accept all lines. Transparent filter (DEFAULT)" "\nThis predicate always yields true, which means it keeps all lines.\n\nThis is the default predicate, which means that it will be used if you don't \nselect another. Then you can use a transform alone.";
end