Skip to content

Instantly share code, notes, and snippets.

@rumblefrog
Created January 20, 2022 16:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rumblefrog/e1b25177b8d4df230bf1fd61dc8e71bf to your computer and use it in GitHub Desktop.
Save rumblefrog/e1b25177b8d4df230bf1fd61dc8e71bf to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
{"meta":{"name":"Core","description":"SourceMod Core","author":"AlliedModders LLC"},"source":{"type":"git","merge":null,"repository":"https://github.com/alliedmodders/sourcemod.git","endpoints":null,"patterns":["plugins/include/*.inc"]},"strands":{"regex":{"functions":{"CompileRegex":{"name":"CompileRegex","refLine":144,"docStart":5801,"docEnd":6380,"docs":{"brief":"Precompile a regular expression. Use this if you intend on using the\nsame expression multiple times. Pass the regex handle returned here to\nMatchRegex to check for matches.","tags":[{"tag":"","text":"Precompile a regular expression. Use this if you intend on using the\nsame expression multiple times. Pass the regex handle returned here to\nMatchRegex to check for matches."},{"tag":"param:pattern","text":"The regular expression pattern."},{"tag":"param:flags","text":"General flags for the regular expression."},{"tag":"param:error","text":"Error message encountered, if applicable."},{"tag":"param:maxLen","text":"Maximum string length of the error buffer."},{"tag":"param:errcode","text":"Regex type error code encountered, if applicable."},{"tag":"return","text":"Valid regex handle on success, INVALID_HANDLE on failure."}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"bcfef75c5dd00c8b66440e524633c97bbaee4c23","count":5537,"time":1439405577}},"kind":"native","returnType":"Regex","arguments":[{"type":"const char[]","name":"pattern","decl":"const char[] pattern","default":null},{"type":"int","name":"flags","decl":"int flags","default":"0"},{"type":"char[]","name":"error","decl":"char[] error","default":"\"\""},{"type":"int","name":"maxLen","decl":"int maxLen","default":"0"},{"type":"RegexError&","name":"errcode","decl":"RegexError& errcode","default":"REGEX_ERROR_NONE"}]},"SimpleRegexMatch":{"name":"SimpleRegexMatch","refLine":104,"docStart":3722,"docEnd":4328,"docs":{"brief":"Matches a string against a regular expression pattern.","tags":[{"tag":"","text":"Matches a string against a regular expression pattern."},{"tag":"note","text":"If you intend on using the same regular expression pattern\nmultiple times, consider using CompileRegex and MatchRegex\ninstead of making this function reparse the expression each time."},{"tag":"param:str","text":"The string to check."},{"tag":"param:pattern","text":"The regular expression pattern."},{"tag":"param:flags","text":"General flags for the regular expression."},{"tag":"param:error","text":"Error message, if applicable."},{"tag":"param:maxLen","text":"Maximum length of the error buffer."},{"tag":"return","text":"Number of substrings found or -1 on failure."}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"kind":"stock","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"const char[]","name":"pattern","decl":"const char[] pattern","default":null},{"type":"int","name":"flags","decl":"int flags","default":"0"},{"type":"char[]","name":"error","decl":"char[] error","default":"\"\""},{"type":"int","name":"maxLen","decl":"int maxLen","default":"0"}]},"__ext_regex_SetNTVOptional":{"name":"__ext_regex_SetNTVOptional","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"7e3b1c395bad82ccfd01c296a417002e063a3537","count":6323,"time":1533582661},"last_updated":{"hash":"7e3b1c395bad82ccfd01c296a417002e063a3537","count":6323,"time":1533582661}},"kind":"public","returnType":"void","arguments":[]},"MatchRegex":{"name":"MatchRegex","refLine":208,"docStart":9218,"docEnd":9711,"docs":{"brief":"Matches a string against a pre-compiled regular expression pattern.","tags":[{"tag":"","text":"Matches a string against a pre-compiled regular expression pattern."},{"tag":"param:regex","text":"Regex Handle from CompileRegex()"},{"tag":"param:str","text":"The string to check."},{"tag":"param:ret","text":"Error code, if applicable."},{"tag":"param:offset","text":"Offset in the string to start searching from."},{"tag":"return","text":"Number of captures found or -1 on failure."},{"tag":"note","text":"Use the regex handle passed to this function to extract\nmatches with GetRegexSubString()."}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"ded38676059e7fc4ff99816e75f4c227775932d7","count":6504,"time":1582761124}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"regex","decl":"Handle regex","default":null},{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"RegexError&","name":"ret","decl":"RegexError& ret","default":"REGEX_ERROR_NONE"},{"type":"int","name":"offset","decl":"int offset","default":"0"}]},"GetRegexSubString":{"name":"GetRegexSubString","refLine":88,"docStart":3116,"docEnd":3639,"docs":{"brief":"Returns a matched substring from a regex handle.\nSubstring ids start at 0 and end at substrings-1, where substrings is the number returned\nby MatchRegex","tags":[{"tag":"","text":"Returns a matched substring from a regex handle.\nSubstring ids start at 0 and end at substrings-1, where substrings is the number returned\nby MatchRegex"},{"tag":"param:regex","text":"The regex handle to extract data from."},{"tag":"param:str_id","text":"The index of the expression to get - starts at 0, and ends at substrings - 1."},{"tag":"param:buffer","text":"The buffer to set to the matching substring."},{"tag":"param:maxLen","text":"The maximum string length of the buffer."},{"tag":"return","text":"True if a substring was found, False on fail/error"}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"regex","decl":"Handle regex","default":null},{"type":"int","name":"str_id","decl":"int str_id","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlen","decl":"int maxlen","default":null}]}},"methodmaps":{"Regex":{"name":"Regex","refLine":97,"docStart":4098,"docEnd":4189,"docs":{"brief":"Regular expression objects are used to match or decompose strings based on\npatterns.","tags":[{"tag":"","text":"Regular expression objects are used to match or decompose strings based on\npatterns."}]},"metadata":{"created":{"hash":"bcfef75c5dd00c8b66440e524633c97bbaee4c23","count":5537,"time":1439405577},"last_updated":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684}},"parent":"Handle","methods":{"GetSubString":{"name":"GetSubString","refLine":144,"docStart":5756,"docEnd":6549,"docs":{"brief":"Returns a matched substring from a regex handle.\n\nSubstring ids start at 0 and end at captures-1, where captures is the\nnumber returned by Regex.Match or Regex.CaptureCount.","tags":[{"tag":"","text":"Returns a matched substring from a regex handle.\n\nSubstring ids start at 0 and end at captures-1, where captures is the\nnumber returned by Regex.Match or Regex.CaptureCount."},{"tag":"param:regex","text":"The regex handle to extract data from."},{"tag":"param:str_id","text":"The index of the expression to get - starts at 0, and ends at captures - 1."},{"tag":"param:buffer","text":"The buffer to set to the matching substring."},{"tag":"param:maxlen","text":"The maximum string length of the buffer."},{"tag":"param:match","text":"Match to get the captures for - starts at 0, and ends at MatchCount() -1"},{"tag":"return","text":"True if a substring was found, False on fail/error"},{"tag":"note","text":"str_id = 0 is the full captured string, anything else is the capture group index.\nif Regex.Match is used match can only be 0"}]},"metadata":{"created":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684},"last_updated":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"str_id","decl":"int str_id","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlen","decl":"int maxlen","default":null},{"type":"int","name":"match","decl":"int match","default":"0"}]},"Match":{"name":"Match","refLine":118,"docStart":4708,"docEnd":5207,"docs":{"brief":"Matches a string against a pre-compiled regular expression pattern.","tags":[{"tag":"","text":"Matches a string against a pre-compiled regular expression pattern."},{"tag":"param:str","text":"The string to check."},{"tag":"param:regex","text":"Regex Handle from CompileRegex()"},{"tag":"param:ret","text":"Error code, if applicable."},{"tag":"param:offset","text":"Offset in the string to start searching from. MatchOffset returns the offset of the match."},{"tag":"return","text":"Number of captures found or -1 on failure."},{"tag":"note","text":"Use the regex handle passed to this function to extract\nmatches with GetSubString()."}]},"metadata":{"created":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684},"last_updated":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"RegexError&","name":"ret","decl":"RegexError& ret","default":"REGEX_ERROR_NONE"},{"type":"int","name":"offset","decl":"int offset","default":"0"}]},"Regex":{"name":"Regex","refLine":106,"docStart":4221,"docEnd":4570,"docs":{"brief":"Compile a regular expression.","tags":[{"tag":"","text":"Compile a regular expression."},{"tag":"param:pattern","text":"The regular expression pattern."},{"tag":"param:flags","text":"General flags for the regular expression."},{"tag":"param:error","text":"Error message encountered, if applicable."},{"tag":"param:maxLen","text":"Maximum string length of the error buffer."},{"tag":"param:errcode","text":"Regex type error code encountered, if applicable."}]},"metadata":{"created":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684},"last_updated":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684}},"kind":"native","returnType":"Regex","arguments":[{"type":"const char[]","name":"pattern","decl":"const char[] pattern","default":null},{"type":"int","name":"flags","decl":"int flags","default":"0"},{"type":"char[]","name":"error","decl":"char[] error","default":"\"\""},{"type":"int","name":"maxLen","decl":"int maxLen","default":"0"},{"type":"RegexError&","name":"errcode","decl":"RegexError& errcode","default":"REGEX_ERROR_NONE"}]},"MatchCount":{"name":"MatchCount","refLine":150,"docStart":6644,"docEnd":6794,"docs":{"brief":"Returns number of matches\n\nWhen using Match this is always 1 or 0 (unless an error occured)","tags":[{"tag":"","text":"Returns number of matches\n\nWhen using Match this is always 1 or 0 (unless an error occured)"},{"tag":"return","text":"Total number of matches found."}]},"metadata":{"created":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684},"last_updated":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684}},"kind":"native","returnType":"int","arguments":[]},"MatchAll":{"name":"MatchAll","refLine":128,"docStart":5310,"docEnd":5667,"docs":{"brief":"Gets all matches from a string against a pre-compiled regular expression pattern.","tags":[{"tag":"","text":"Gets all matches from a string against a pre-compiled regular expression pattern."},{"tag":"param:str","text":"The string to check."},{"tag":"param:regex","text":"Regex Handle from CompileRegex()"},{"tag":"param:ret","text":"Error code, if applicable."},{"tag":"return","text":"Number of matches found or -1 on failure."},{"tag":"note","text":"Use GetSubString() and loop from 1 -> totalmatches."}]},"metadata":{"created":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684},"last_updated":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"RegexError&","name":"ret","decl":"RegexError& ret","default":"REGEX_ERROR_NONE"}]},"CaptureCount":{"name":"CaptureCount","refLine":158,"docStart":6834,"docEnd":7137,"docs":{"brief":"Returns number of captures for a match","tags":[{"tag":"","text":"Returns number of captures for a match"},{"tag":"param:match","text":"Match to get the number of captures for. Match starts at 0, and ends at MatchCount() -1"},{"tag":"return","text":"Number of captures in the match."},{"tag":"note","text":"Use GetSubString() and loop from 1 -> captures -1 for str_id to get all captures"}]},"metadata":{"created":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684},"last_updated":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"match","decl":"int match","default":"0"}]},"MatchOffset":{"name":"MatchOffset","refLine":164,"docStart":7192,"docEnd":7383,"docs":{"brief":"Returns the string offset of a match.","tags":[{"tag":"","text":"Returns the string offset of a match."},{"tag":"param:match","text":"Match to get the offset of. Match starts at 0, and ends at MatchCount() -1"},{"tag":"return","text":"Offset of the match in the string."}]},"metadata":{"created":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684},"last_updated":{"hash":"5ac33906567c1abb7c9e9630d20eaeb9d0577869","count":6251,"time":1518726684}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"match","decl":"int match","default":"0"}]}},"properties":{}}},"enumstructs":{},"constants":{},"defines":{"PCRE_DOTALL":{"name":"PCRE_DOTALL","refLine":12,"docStart":513,"docEnd":602,"docs":{"brief":"Single line (affects . so that it matches any character, even new line characters).","tags":[{"tag":"","text":"Single line (affects . so that it matches any character, even new line characters)."}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"value":"0x00000004"},"PCRE_EXTENDED":{"name":"PCRE_EXTENDED","refLine":13,"docStart":647,"docEnd":706,"docs":{"brief":"Pattern extension (ignore whitespace and # comments).","tags":[{"tag":"","text":"Pattern extension (ignore whitespace and # comments)."}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"value":"0x00000008"},"PCRE_UTF8":{"name":"PCRE_UTF8","refLine":15,"docStart":834,"docEnd":855,"docs":{"brief":"Use UTF-8 Chars","tags":[{"tag":"","text":"Use UTF-8 Chars"}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"value":"0x00000800"},"PCRE_NOTEMPTY":{"name":"PCRE_NOTEMPTY","refLine":49,"docStart":2539,"docEnd":2582,"docs":{"brief":"An empty string is not a valid match.","tags":[{"tag":"","text":"An empty string is not a valid match."}]},"metadata":{"created":{"hash":"4e7a9cf30b8a004a1653267aaef690ef625f9fd7","count":3835,"time":1363534744},"last_updated":{"hash":"4e7a9cf30b8a004a1653267aaef690ef625f9fd7","count":3835,"time":1363534744}},"value":"0x00000400"},"PCRE_CASELESS":{"name":"PCRE_CASELESS","refLine":10,"docStart":279,"docEnd":296,"docs":{"brief":"Ignore Case","tags":[{"tag":"","text":"Ignore Case"}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"value":"0x00000001"},"PCRE_MULTILINE":{"name":"PCRE_MULTILINE","refLine":11,"docStart":341,"docEnd":468,"docs":{"brief":"Multilines (affects ^ and $ so that they match the start/end of a line rather than matching the start/end of the string).","tags":[{"tag":"","text":"Multilines (affects ^ and $ so that they match the start/end of a line rather than matching the start/end of the string)."}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"value":"0x00000002"},"PCRE_UNGREEDY":{"name":"PCRE_UNGREEDY","refLine":14,"docStart":751,"docEnd":789,"docs":{"brief":"Invert greediness of quantifiers","tags":[{"tag":"","text":"Invert greediness of quantifiers"}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"value":"0x00000200"},"PCRE_DOLLAR_ENDONLY":{"name":"PCRE_DOLLAR_ENDONLY","refLine":47,"docStart":2383,"docEnd":2419,"docs":{"brief":"$ not to match newline at end.","tags":[{"tag":"","text":"$ not to match newline at end."}]},"metadata":{"created":{"hash":"4e7a9cf30b8a004a1653267aaef690ef625f9fd7","count":3835,"time":1363534744},"last_updated":{"hash":"4e7a9cf30b8a004a1653267aaef690ef625f9fd7","count":3835,"time":1363534744}},"value":"0x00000020"},"PCRE_UCP":{"name":"PCRE_UCP","refLine":52,"docStart":2811,"docEnd":2858,"docs":{"brief":"Use Unicode properties for \\ed, \\ew, etc.","tags":[{"tag":"","text":"Use Unicode properties for \\ed, \\ew, etc."}]},"metadata":{"created":{"hash":"4e7a9cf30b8a004a1653267aaef690ef625f9fd7","count":3835,"time":1363534744},"last_updated":{"hash":"4e7a9cf30b8a004a1653267aaef690ef625f9fd7","count":3835,"time":1363534744}},"value":"0x20000000"},"PCRE_ANCHORED":{"name":"PCRE_ANCHORED","refLine":46,"docStart":2311,"docEnd":2341,"docs":{"brief":"Force pattern anchoring.","tags":[{"tag":"","text":"Force pattern anchoring."}]},"metadata":{"created":{"hash":"4e7a9cf30b8a004a1653267aaef690ef625f9fd7","count":3835,"time":1363534744},"last_updated":{"hash":"4e7a9cf30b8a004a1653267aaef690ef625f9fd7","count":3835,"time":1363534744}},"value":"0x00000010"},"PCRE_NO_UTF8_CHECK":{"name":"PCRE_NO_UTF8_CHECK","refLine":16,"docStart":900,"docEnd":985,"docs":{"brief":"Do not check the pattern for UTF-8 validity (only relevant if PCRE_UTF8 is set)","tags":[{"tag":"","text":"Do not check the pattern for UTF-8 validity (only relevant if PCRE_UTF8 is set)"}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"value":"0x00002000"},"_regex_included":{"name":"_regex_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496}},"value":""}},"enums":{"RegexError":{"name":"RegexError","refLine":58,"docStart":2880,"docEnd":2922,"docs":{"brief":"Regex expression error codes.","tags":[{"tag":"","text":"Regex expression error codes."}]},"metadata":{"created":{"hash":"2f41af814ef5d08b7afa3a0d98787c53ab23544b","count":1843,"time":1200002496},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"entries":{"REGEX_ERROR_BADPARTIAL":{"name":"REGEX_ERROR_BADPARTIAL","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-13"},"REGEX_ERROR_BADMODE":{"name":"REGEX_ERROR_BADMODE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-28"},"REGEX_ERROR_BADCOUNT":{"name":"REGEX_ERROR_BADCOUNT","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-15"},"REGEX_ERROR_EESCAPE":{"name":"REGEX_ERROR_EESCAPE","refLine":70,"docStart":3421,"docEnd":3446,"docs":{"brief":"bad escape sequence","tags":[{"tag":"","text":"bad escape sequence"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_BADNEWLINE":{"name":"REGEX_ERROR_BADNEWLINE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-23"},"REGEX_ERROR_ERANGE":{"name":"REGEX_ERROR_ERANGE","refLine":73,"docStart":3571,"docEnd":3596,"docs":{"brief":"bad range inside []","tags":[{"tag":"","text":"bad range inside []"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_NOSUBSTRING":{"name":"REGEX_ERROR_NOSUBSTRING","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-7"},"REGEX_ERROR_MATCHLIMIT":{"name":"REGEX_ERROR_MATCHLIMIT","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-8"},"REGEX_ERROR_NULLWSLIMIT":{"name":"REGEX_ERROR_NULLWSLIMIT","refLine":100,"docStart":4551,"docEnd":4580,"docs":{"brief":"No longer actually used","tags":[{"tag":"","text":"No longer actually used"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-22"},"REGEX_ERROR_UNKNOWN_OPCODE":{"name":"REGEX_ERROR_UNKNOWN_OPCODE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-5"},"REGEX_ERROR_DFA_UITEM":{"name":"REGEX_ERROR_DFA_UITEM","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-16"},"REGEX_ERROR_SHORTUTF8":{"name":"REGEX_ERROR_SHORTUTF8","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-25"},"REGEX_ERROR_DFA_UCOND":{"name":"REGEX_ERROR_DFA_UCOND","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-17"},"REGEX_ERROR_NOMEMORY":{"name":"REGEX_ERROR_NOMEMORY","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-6"},"REGEX_ERROR_BADENDIANNESS":{"name":"REGEX_ERROR_BADENDIANNESS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-29"},"REGEX_ERROR_INVARG":{"name":"REGEX_ERROR_INVARG","refLine":77,"docStart":3782,"docEnd":3800,"docs":{"brief":"bad argument","tags":[{"tag":"","text":"bad argument"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_ECTYPE":{"name":"REGEX_ERROR_ECTYPE","refLine":69,"docStart":3378,"docEnd":3393,"docs":{"brief":"bad class","tags":[{"tag":"","text":"bad class"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_BADUTF8_OFFSET":{"name":"REGEX_ERROR_BADUTF8_OFFSET","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-11"},"REGEX_ERROR_EBRACE":{"name":"REGEX_ERROR_EBRACE","refLine":66,"docStart":3220,"docEnd":3239,"docs":{"brief":"unbalanced {}","tags":[{"tag":"","text":"unbalanced {}"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_DFA_UMLIMIT":{"name":"REGEX_ERROR_DFA_UMLIMIT","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-18"},"REGEX_ERROR_BADBR":{"name":"REGEX_ERROR_BADBR","refLine":63,"docStart":3065,"docEnd":3098,"docs":{"brief":"invalid repeat counts in {}","tags":[{"tag":"","text":"invalid repeat counts in {}"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_ESPACE":{"name":"REGEX_ERROR_ESPACE","refLine":75,"docStart":3676,"docEnd":3702,"docs":{"brief":"failed to get memory","tags":[{"tag":"","text":"failed to get memory"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_NULL":{"name":"REGEX_ERROR_NULL","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-2"},"REGEX_ERROR_EMPTY":{"name":"REGEX_ERROR_EMPTY","refLine":71,"docStart":3474,"docEnd":3496,"docs":{"brief":"empty expression","tags":[{"tag":"","text":"empty expression"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_EBRACK":{"name":"REGEX_ERROR_EBRACK","refLine":67,"docStart":3267,"docEnd":3286,"docs":{"brief":"unbalanced []","tags":[{"tag":"","text":"unbalanced []"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_JIT_STACKLIMIT":{"name":"REGEX_ERROR_JIT_STACKLIMIT","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-27"},"REGEX_ERROR_ESIZE":{"name":"REGEX_ERROR_ESIZE","refLine":74,"docStart":3624,"docEnd":3648,"docs":{"brief":"expression too big","tags":[{"tag":"","text":"expression too big"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_CALLOUT":{"name":"REGEX_ERROR_CALLOUT","refLine":87,"docStart":4102,"docEnd":4133,"docs":{"brief":"Never used by PCRE itself","tags":[{"tag":"","text":"Never used by PCRE itself"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-9"},"REGEX_ERROR_BADOPTION":{"name":"REGEX_ERROR_BADOPTION","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-3"},"REGEX_ERROR_ESUBREG":{"name":"REGEX_ERROR_ESUBREG","refLine":76,"docStart":3730,"docEnd":3754,"docs":{"brief":"bad back reference","tags":[{"tag":"","text":"bad back reference"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_NONE":{"name":"REGEX_ERROR_NONE","refLine":60,"docStart":2970,"docEnd":2984,"docs":{"brief":"No error","tags":[{"tag":"","text":"No error"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"0"},"REGEX_ERROR_NOMATCH":{"name":"REGEX_ERROR_NOMATCH","refLine":79,"docStart":3834,"docEnd":3858,"docs":{"brief":"No match was found","tags":[{"tag":"","text":"No match was found"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-1"},"REGEX_ERROR_BADUTF8":{"name":"REGEX_ERROR_BADUTF8","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-10"},"REGEX_ERROR_DFA_RECURSE":{"name":"REGEX_ERROR_DFA_RECURSE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-20"},"REGEX_ERROR_BADRPT":{"name":"REGEX_ERROR_BADRPT","refLine":65,"docStart":3173,"docEnd":3192,"docs":{"brief":"? * + invalid","tags":[{"tag":"","text":"? * + invalid"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_BADMAGIC":{"name":"REGEX_ERROR_BADMAGIC","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-4"},"REGEX_ERROR_RECURSIONLIMIT":{"name":"REGEX_ERROR_RECURSIONLIMIT","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-21"},"REGEX_ERROR_RECURSELOOP":{"name":"REGEX_ERROR_RECURSELOOP","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-26"},"REGEX_ERROR_BADPAT":{"name":"REGEX_ERROR_BADPAT","refLine":64,"docStart":3126,"docEnd":3145,"docs":{"brief":"pattern error","tags":[{"tag":"","text":"pattern error"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_ECOLLATE":{"name":"REGEX_ERROR_ECOLLATE","refLine":68,"docStart":3314,"docEnd":3350,"docs":{"brief":"collation error - not relevant","tags":[{"tag":"","text":"collation error - not relevant"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_JIT_BADOPTION":{"name":"REGEX_ERROR_JIT_BADOPTION","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-31"},"REGEX_ERROR_BADOFFSET":{"name":"REGEX_ERROR_BADOFFSET","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-24"},"REGEX_ERROR_PARTIAL":{"name":"REGEX_ERROR_PARTIAL","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-12"},"REGEX_ERROR_DFA_BADRESTART":{"name":"REGEX_ERROR_DFA_BADRESTART","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-30"},"REGEX_ERROR_EPAREN":{"name":"REGEX_ERROR_EPAREN","refLine":72,"docStart":3524,"docEnd":3543,"docs":{"brief":"unbalanced ()","tags":[{"tag":"","text":"unbalanced ()"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":null},"REGEX_ERROR_BADLENGTH":{"name":"REGEX_ERROR_BADLENGTH","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-32"},"REGEX_ERROR_ASSERT":{"name":"REGEX_ERROR_ASSERT","refLine":62,"docStart":3015,"docEnd":3037,"docs":{"brief":"internal error ?","tags":[{"tag":"","text":"internal error ?"}]},"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"1"},"REGEX_ERROR_DFA_WSSIZE":{"name":"REGEX_ERROR_DFA_WSSIZE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-19"},"REGEX_ERROR_INTERNAL":{"name":"REGEX_ERROR_INTERNAL","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383},"last_updated":{"hash":"d430bd2f5cba9d54ac472876e7cd151a53fc031d","count":6280,"time":1527530383}},"value":"-14"}}}},"typesets":{},"typedefs":{}},"halflife":{"functions":{"GetServerSteamAccountId":{"name":"GetServerSteamAccountId","refLine":714,"docStart":25763,"docEnd":25873,"docs":{"brief":"Returns the server's Steam account ID.","tags":[{"tag":"","text":"Returns the server's Steam account ID."},{"tag":"return","text":"Steam account ID or 0 if not available."}]},"metadata":{"created":{"hash":"ed46ca3328bb878122f74a5af8590feb96e7c3c6","count":5888,"time":1461727028},"last_updated":{"hash":"ed46ca3328bb878122f74a5af8590feb96e7c3c6","count":5888,"time":1461727028}},"kind":"native","returnType":"int","arguments":[]},"CreateHudSynchronizer":{"name":"CreateHudSynchronizer","refLine":399,"docStart":11389,"docEnd":13064,"docs":{"brief":"Creates a HUD synchronization object. This object is used to automatically assign and\nre-use channels for a set of messages.\n\nThe HUD has a hardcoded number of channels (usually 6) for displaying\ntext. You can use any channel for any area of the screen. Text on\ndifferent channels can overlap, but text on the same channel will\nerase the old text first. This overlapping and overwriting gets problematic.\n\nA HUD synchronization object automatically selects channels for you based on\nthe following heuristics:\n- If channel X was last used by the object, and hasn't been modified again,\nchannel X gets re-used.\n- Otherwise, a new channel is chosen based on the least-recently-used channel.\n\nThis ensures that if you display text on a sync object, that the previous text\ndisplayed on it will always be cleared first. This is because your new text\nwill either overwrite the old text on the same channel, or because another\nchannel has already erased your text.\n\nNote that messages can still overlap if they are on different synchronization\nobjects, or they are displayed to manual channels.\n\nThese are particularly useful for displaying repeating or refreshing HUD text, in\naddition to displaying multiple message sets in one area of the screen (for example,\ncenter-say messages that may pop up randomly that you don't want to overlap each\nother).","tags":[{"tag":"","text":"Creates a HUD synchronization object. This object is used to automatically assign and\nre-use channels for a set of messages.\n\nThe HUD has a hardcoded number of channels (usually 6) for displaying\ntext. You can use any channel for any area of the screen. Text on\ndifferent channels can overlap, but text on the same channel will\nerase the old text first. This overlapping and overwriting gets problematic.\n\nA HUD synchronization object automatically selects channels for you based on\nthe following heuristics:\n- If channel X was last used by the object, and hasn't been modified again,\nchannel X gets re-used.\n- Otherwise, a new channel is chosen based on the least-recently-used channel.\n\nThis ensures that if you display text on a sync object, that the previous text\ndisplayed on it will always be cleared first. This is because your new text\nwill either overwrite the old text on the same channel, or because another\nchannel has already erased your text.\n\nNote that messages can still overlap if they are on different synchronization\nobjects, or they are displayed to manual channels.\n\nThese are particularly useful for displaying repeating or refreshing HUD text, in\naddition to displaying multiple message sets in one area of the screen (for example,\ncenter-say messages that may pop up randomly that you don't want to overlap each\nother)."},{"tag":"return","text":"New HUD synchronization object.\nThe Handle can be closed with CloseHandle().\nIf HUD text is not supported on this mod, then\nINVALID_HANDLE is returned."}]},"metadata":{"created":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078},"last_updated":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078}},"kind":"native","returnType":"Handle","arguments":[]},"PrecacheSentenceFile":{"name":"PrecacheSentenceFile","refLine":139,"docStart":3745,"docEnd":3984,"docs":{"brief":"Precaches a given sentence file.","tags":[{"tag":"","text":"Precaches a given sentence file."},{"tag":"param:file","text":"Name of the sentence file to precache."},{"tag":"param:preload","text":"If preload is true the file will be precached before level startup."},{"tag":"return","text":"Returns a sentence file index."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"file","decl":"const char[] file","default":null},{"type":"bool","name":"preload","decl":"bool preload","default":"false"}]},"IsDedicatedServer":{"name":"IsDedicatedServer","refLine":77,"docStart":2044,"docEnd":2152,"docs":{"brief":"Returns whether the server is dedicated.","tags":[{"tag":"","text":"Returns whether the server is dedicated."},{"tag":"return","text":"True if dedicated, false otherwise."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"bool","arguments":[]},"LogToGame":{"name":"LogToGame","refLine":121,"docStart":5656,"docEnd":5781,"docs":{"brief":"Logs a generic message to the HL2 logs.","tags":[{"tag":"","text":"Logs a generic message to the HL2 logs."},{"tag":"param:format","text":"String format."},{"tag":"param:...","text":"Format arguments."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"GetRandomInt":{"name":"GetRandomInt","refLine":62,"docStart":1582,"docEnd":1803,"docs":{"brief":"Returns a random number from the Half-Life 2 Random Stream","tags":[{"tag":"","text":"Returns a random number from the Half-Life 2 Random Stream"},{"tag":"param:nmin","text":"Minimum random bound."},{"tag":"param:nmax","text":"Maximum random bound."},{"tag":"return","text":"A random number between (inclusive) nmin and nmax."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"nmin","decl":"int nmin","default":null},{"type":"int","name":"nmax","decl":"int nmax","default":null}]},"PrecacheGeneric":{"name":"PrecacheGeneric","refLine":157,"docStart":4344,"docEnd":4582,"docs":{"brief":"Precaches a given generic file.","tags":[{"tag":"","text":"Precaches a given generic file."},{"tag":"param:generic","text":"Name of the generic file to precache."},{"tag":"param:preload","text":"If preload is true the file will be precached before level startup."},{"tag":"return","text":"Returns a generic file index."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"generic","decl":"const char[] generic","default":null},{"type":"bool","name":"preload","decl":"bool preload","default":"false"}]},"IsModelPrecached":{"name":"IsModelPrecached","refLine":165,"docStart":4655,"docEnd":4807,"docs":{"brief":"Returns if a given model is precached.","tags":[{"tag":"","text":"Returns if a given model is precached."},{"tag":"param:model","text":"Name of the model to check."},{"tag":"return","text":"True if precached, false otherwise."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"model","decl":"const char[] model","default":null}]},"GetEngineTime":{"name":"GetEngineTime","refLine":84,"docStart":2190,"docEnd":2312,"docs":{"brief":"Returns a high-precision time value for profiling the engine.","tags":[{"tag":"","text":"Returns a high-precision time value for profiling the engine."},{"tag":"return","text":"A floating point time value."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"float","arguments":[]},"IsSoundPrecached":{"name":"IsSoundPrecached","refLine":198,"docStart":5616,"docEnd":5768,"docs":{"brief":"Returns if a given sound is precached.","tags":[{"tag":"","text":"Returns if a given sound is precached."},{"tag":"param:sound","text":"Name of the sound to check."},{"tag":"return","text":"True if precached, false otherwise."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"sound","decl":"const char[] sound","default":null}]},"PrintCenterTextAll":{"name":"PrintCenterTextAll","refLine":263,"docStart":7388,"docEnd":7571,"docs":{"brief":"Prints a message to all clients in the center of the screen.","tags":[{"tag":"","text":"Prints a message to all clients in the center of the screen."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."}]},"metadata":{"created":{"hash":"bd15f93d7d4743b399a7f658378479142874385a","count":893,"time":1181163077},"last_updated":{"hash":"bd15f93d7d4743b399a7f658378479142874385a","count":893,"time":1181163077}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"EntRefToEntIndex":{"name":"EntRefToEntIndex","refLine":564,"docStart":19434,"docEnd":19559,"docs":{"brief":"Retrieves the entity index from a reference.","tags":[{"tag":"","text":"Retrieves the entity index from a reference."},{"tag":"param:ref","text":"Entity reference."},{"tag":"return","text":"Entity index."}]},"metadata":{"created":{"hash":"3e36382b585a8da3e087fb0eb22c937217b83e6f","count":2747,"time":1248395671},"last_updated":{"hash":"3e36382b585a8da3e087fb0eb22c937217b83e6f","count":2747,"time":1248395671}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"ref","decl":"int ref","default":null}]},"IsGenericPrecached":{"name":"IsGenericPrecached","refLine":181,"docStart":5073,"docEnd":5239,"docs":{"brief":"Returns if a given generic file is precached.","tags":[{"tag":"","text":"Returns if a given generic file is precached."},{"tag":"param:decal","text":"Name of the generic file to check."},{"tag":"return","text":"True if precached, false otherwise."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"generic","decl":"const char[] generic","default":null}]},"MakeCompatEntRef":{"name":"MakeCompatEntRef","refLine":572,"docStart":19594,"docEnd":19737,"docs":{"brief":"Converts a reference into a backwards compatible version.","tags":[{"tag":"","text":"Converts a reference into a backwards compatible version."},{"tag":"param:ref","text":"Entity reference."},{"tag":"return","text":"Bcompat reference."}]},"metadata":{"created":{"hash":"3e36382b585a8da3e087fb0eb22c937217b83e6f","count":2747,"time":1248395671},"last_updated":{"hash":"3e36382b585a8da3e087fb0eb22c937217b83e6f","count":2747,"time":1248395671}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"ref","decl":"int ref","default":null}]},"FindMap":{"name":"FindMap","refLine":168,"docStart":6776,"docEnd":7268,"docs":{"brief":"Returns whether a full or partial map name is found or can be resolved","tags":[{"tag":"","text":"Returns whether a full or partial map name is found or can be resolved"},{"tag":"param:map","text":"Map name (usually same as map path relative to maps/ dir,\nexcluding .bsp extension)."},{"tag":"param:foundmap","text":"Resolved map name. If the return is FindMap_FuzzyMatch\nor FindMap_NonCanonical the buffer will be the full path."},{"tag":"param:maxlen","text":"Maximum length to write to map var."},{"tag":"return","text":"Result of the find operation. Not all result types are supported on all games."}]},"metadata":{"created":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047},"last_updated":{"hash":"f59df243ead6f7f3ef600cbf7fea25a8f2f3b2cc","count":5615,"time":1441910866}},"kind":"native","returnType":"FindMapResult","arguments":[{"type":"const char[]","name":"map","decl":"const char[] map","default":null},{"type":"char[]","name":"foundmap","decl":"char[] foundmap","default":null},{"type":"int","name":"maxlen","decl":"int maxlen","default":null}]},"GetServerAuthId":{"name":"GetServerAuthId","refLine":707,"docStart":25209,"docEnd":25683,"docs":{"brief":"Retrieves the server's authentication string (SteamID).\n\nNote: If called before server is connected to Steam, auth id\nwill be invalid ([I:0:1], 1, etc.)","tags":[{"tag":"","text":"Retrieves the server's authentication string (SteamID).\n\nNote: If called before server is connected to Steam, auth id\nwill be invalid ([I:0:1], 1, etc.)"},{"tag":"param:authType","text":"Auth id type and format to use.\n(Only AuthId_Steam3 and AuthId_SteamID64 are supported)"},{"tag":"param:auth","text":"Buffer to store the server's auth id."},{"tag":"param:maxlen","text":"Maximum length of string buffer (includes NULL terminator)."},{"tag":"error","text":"Invalid AuthIdType given."}]},"metadata":{"created":{"hash":"ed46ca3328bb878122f74a5af8590feb96e7c3c6","count":5888,"time":1461727028},"last_updated":{"hash":"ed46ca3328bb878122f74a5af8590feb96e7c3c6","count":5888,"time":1461727028}},"kind":"native","returnType":"void","arguments":[{"type":"AuthIdType","name":"authType","decl":"AuthIdType authType","default":null},{"type":"char[]","name":"auth","decl":"char[] auth","default":null},{"type":"int","name":"maxlen","decl":"int maxlen","default":null}]},"SetHudTextParamsEx":{"name":"SetHudTextParamsEx","refLine":539,"docStart":19241,"docEnd":20196,"docs":{"brief":"Sets the HUD parameters for drawing text. These parameters are stored\nglobally, although nothing other than this function and SetHudTextParams\nmodify them.\n\nThis is the same as SetHudTextParams(), except it lets you set the alternate\ncolor for when effects require it.","tags":[{"tag":"","text":"Sets the HUD parameters for drawing text. These parameters are stored\nglobally, although nothing other than this function and SetHudTextParams\nmodify them.\n\nThis is the same as SetHudTextParams(), except it lets you set the alternate\ncolor for when effects require it."},{"tag":"param:x","text":"x coordinate, from 0 to 1. -1.0 is the center."},{"tag":"param:y","text":"y coordinate, from 0 to 1. -1.0 is the center."},{"tag":"param:holdTime","text":"Number of seconds to hold the text."},{"tag":"param:color1","text":"First color set, array values being [red, green, blue, alpha]"},{"tag":"param:color2","text":"Second color set, array values being [red, green, blue, alpha]"},{"tag":"param:effect","text":"0/1 causes the text to fade in and fade out.\n2 causes the text to flash[?]."},{"tag":"param:fxTime","text":"Duration of chosen effect (may not apply to all effects)."},{"tag":"param:fadeIn","text":"Number of seconds to spend fading in."},{"tag":"param:fadeOut","text":"Number of seconds to spend fading out."}]},"metadata":{"created":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"float","name":"x","decl":"float x","default":null},{"type":"float","name":"y","decl":"float y","default":null},{"type":"float","name":"holdTime","decl":"float holdTime","default":null},{"type":"int[4]","name":"color1","decl":"int color1[4]","default":null},{"type":"int[4]","name":"color2","decl":"int color2[4]","default":"{ 255, 255, 255, 0 }"},{"type":"int","name":"effect","decl":"int effect","default":"0"},{"type":"float","name":"fxTime","decl":"float fxTime","default":"6.000000"},{"type":"float","name":"fadeIn","decl":"float fadeIn","default":"0.100000"},{"type":"float","name":"fadeOut","decl":"float fadeOut","default":"0.200000"}]},"GetGameTickCount":{"name":"GetGameTickCount","refLine":136,"docStart":4928,"docEnd":5017,"docs":{"brief":"Returns the game's internal tick count.","tags":[{"tag":"","text":"Returns the game's internal tick count."},{"tag":"return","text":"Game tick count."}]},"metadata":{"created":{"hash":"f65de3bbbbd482b1035a6600f96cb23f12510b65","count":3541,"time":1338383623},"last_updated":{"hash":"f65de3bbbbd482b1035a6600f96cb23f12510b65","count":3541,"time":1338383623}},"kind":"native","returnType":"int","arguments":[]},"DisplayAskConnectBox":{"name":"DisplayAskConnectBox","refLine":590,"docStart":21115,"docEnd":21445,"docs":{"brief":"Displays a panel asking the client to connect to a specified IP.","tags":[{"tag":"","text":"Displays a panel asking the client to connect to a specified IP."},{"tag":"param:client","text":"Client index."},{"tag":"param:time","text":"Duration to hold the panel on the client's screen."},{"tag":"param:ip","text":"Destination IP."},{"tag":"param:password","text":"Password to connect to the destination IP. The client will be able to see this."}]},"metadata":{"created":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220},"last_updated":{"hash":"cf8d05ae98c2dc10112f9933cdc033952d79ba3b","count":4291,"time":1395418448}},"kind":"stock","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"float","name":"time","decl":"float time","default":null},{"type":"const char[]","name":"ip","decl":"const char[] ip","default":null},{"type":"const char[]","name":"password","decl":"const char[] password","default":"\"\""}]},"IsDecalPrecached":{"name":"IsDecalPrecached","refLine":173,"docStart":4864,"docEnd":5016,"docs":{"brief":"Returns if a given decal is precached.","tags":[{"tag":"","text":"Returns if a given decal is precached."},{"tag":"param:decal","text":"Name of the decal to check."},{"tag":"return","text":"True if precached, false otherwise."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"decal","decl":"const char[] decal","default":null}]},"PrecacheDecal":{"name":"PrecacheDecal","refLine":148,"docStart":4059,"docEnd":4275,"docs":{"brief":"Precaches a given decal.","tags":[{"tag":"","text":"Precaches a given decal."},{"tag":"param:decal","text":"Name of the decal to precache."},{"tag":"param:preload","text":"If preload is true the file will be precached before level startup."},{"tag":"return","text":"Returns a decal index."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"decal","decl":"const char[] decal","default":null},{"type":"bool","name":"preload","decl":"bool preload","default":"false"}]},"ShowSyncHudText":{"name":"ShowSyncHudText","refLine":465,"docStart":15542,"docEnd":16061,"docs":{"brief":"Shows a synchronized HUD message to a client.\n\nAs of this writing, only TF, HL2MP, and SourceForts support HUD Text.","tags":[{"tag":"","text":"Shows a synchronized HUD message to a client.\n\nAs of this writing, only TF, HL2MP, and SourceForts support HUD Text."},{"tag":"param:client","text":"Client index to send the message to."},{"tag":"param:sync","text":"Synchronization object."},{"tag":"param:message","text":"Message text or formatting rules."},{"tag":"param:...","text":"Message formatting parameters."},{"tag":"return","text":"-1 on failure, anything else on success.\nThis function fails if the mod does not support it."},{"tag":"error","text":"Client not in-game, or sync object not valid."}]},"metadata":{"created":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078},"last_updated":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"Handle","name":"sync","decl":"Handle sync","default":null},{"type":"const char[]","name":"message","decl":"const char[] message","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"GetGameTime":{"name":"GetGameTime","refLine":91,"docStart":2347,"docEnd":2441,"docs":{"brief":"Returns the game time based on the game tick.","tags":[{"tag":"","text":"Returns the game time based on the game tick."},{"tag":"return","text":"Game tick time."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"float","arguments":[]},"CreateDialog":{"name":"CreateDialog","refLine":329,"docStart":12152,"docEnd":12476,"docs":{"brief":"Creates different types of ingame messages.","tags":[{"tag":"","text":"Creates different types of ingame messages."},{"tag":"param:client","text":"Index of the client."},{"tag":"param:kv","text":"KeyValues handle to set the menu keys and options. (Check iserverplugin.h for more information)."},{"tag":"param:type","text":"Message type to display ingame."},{"tag":"error","text":"Invalid client index, or client not connected."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"DialogType","name":"type","decl":"DialogType type","default":null}]},"GetGameFolderName":{"name":"GetGameFolderName","refLine":112,"docStart":2906,"docEnd":3139,"docs":{"brief":"Returns the name of the game's directory.","tags":[{"tag":"","text":"Returns the name of the game's directory."},{"tag":"param:buffer","text":"Buffer to store the directory name."},{"tag":"param:maxlength","text":"Maximum size of the buffer.\n\nreturn Number of bytes written to the buffer (UTF-8 safe)."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"PrintHintTextToAll":{"name":"PrintHintTextToAll","refLine":302,"docStart":8589,"docEnd":8760,"docs":{"brief":"Prints a message to all clients with a hint box.","tags":[{"tag":"","text":"Prints a message to all clients with a hint box."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."}]},"metadata":{"created":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418},"last_updated":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"ShowMOTDPanel":{"name":"ShowMOTDPanel","refLine":341,"docStart":9669,"docEnd":10178,"docs":{"brief":"Shows a MOTD panel to a specific client.","tags":[{"tag":"","text":"Shows a MOTD panel to a specific client."},{"tag":"param:client","text":"Client index."},{"tag":"param:title","text":"Title of the panel (printed on the top border of the window)."},{"tag":"param:msg","text":"Contents of the panel, it can be treated as an url, filename or plain text\ndepending on the type parameter (WARNING: msg has to be 192 bytes maximum!)"},{"tag":"param:type","text":"Determines the way to treat the message body of the panel."},{"tag":"error","text":"If the client is not connected an error will be thrown."}]},"metadata":{"created":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418},"last_updated":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418}},"kind":"stock","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"title","decl":"const char[] title","default":null},{"type":"const char[]","name":"msg","decl":"const char[] msg","default":null},{"type":"int","name":"type","decl":"int type","default":"1"}]},"GetRandomFloat":{"name":"GetRandomFloat","refLine":53,"docStart":1280,"docEnd":1516,"docs":{"brief":"Returns a random floating point number from the Half-Life 2 Random Stream","tags":[{"tag":"","text":"Returns a random floating point number from the Half-Life 2 Random Stream"},{"tag":"param:fMin","text":"Minimum random bound."},{"tag":"param:fMax","text":"Maximum random bound."},{"tag":"return","text":"A random number between (inclusive) fMin and fMax."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"float","arguments":[{"type":"float","name":"fMin","decl":"float fMin","default":"0.000000"},{"type":"float","name":"fMax","decl":"float fMax","default":"1.000000"}]},"ShowVGUIPanel":{"name":"ShowVGUIPanel","refLine":457,"docStart":15646,"docEnd":16132,"docs":{"brief":"Shows a VGUI panel to a specific client.","tags":[{"tag":"","text":"Shows a VGUI panel to a specific client."},{"tag":"param:client","text":"Client index."},{"tag":"param:name","text":"Panel type name (Check viewport_panel_names.h to see a list of\nsome panel names)."},{"tag":"param:Kv","text":"KeyValues handle with all the data for the panel setup (Depends\non the panel type and may be unused)."},{"tag":"param:show","text":"True to show the panel, or false to remove it from the client screen."},{"tag":"error","text":"If the client is not connected an error will be thrown."}]},"metadata":{"created":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":null},{"type":"Handle","name":"Kv","decl":"Handle Kv","default":"INVALID_HANDLE"},{"type":"bool","name":"show","decl":"bool show","default":"true"}]},"ShowHudText":{"name":"ShowHudText","refLine":503,"docStart":16826,"docEnd":17566,"docs":{"brief":"Shows a HUD message to a client on the given channel.\n\nAs of this writing, only TF, HL2MP, and SourceForts support HUD Text.","tags":[{"tag":"","text":"Shows a HUD message to a client on the given channel.\n\nAs of this writing, only TF, HL2MP, and SourceForts support HUD Text."},{"tag":"param:client","text":"Client index to send the message to."},{"tag":"param:channel","text":"A channel number.\nIf -1, then a channel will automatically be selected\nbased on the least-recently-used channel. If the\nchannel is any other number, it will be modulo'd with\nthe channel count to get a final channel number."},{"tag":"param:message","text":"Message text or formatting rules."},{"tag":"param:...","text":"Message formatting parameters."},{"tag":"return","text":"-1 on failure (lack of mod support).\nAny other return value is the channel number that was\nused to render the text."}]},"metadata":{"created":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078},"last_updated":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"channel","decl":"int channel","default":null},{"type":"const char[]","name":"message","decl":"const char[] message","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"ClearSyncHud":{"name":"ClearSyncHud","refLine":574,"docStart":21012,"docEnd":21633,"docs":{"brief":"Clears the text on a synchronized HUD channel.\n\nThis is not the same as sending \"\" because it guarantees that it won't\noverwrite text on another channel. For example, consider the scenario:\n\n1. Your synchronized message goes to channel 3.\n2. Someone else's non-synchronized message goes to channel 3.\n\nIf you were to simply send \"\" on your synchronized message,\nthen someone else's text could be overwritten.","tags":[{"tag":"","text":"Clears the text on a synchronized HUD channel.\n\nThis is not the same as sending \"\" because it guarantees that it won't\noverwrite text on another channel. For example, consider the scenario:\n\n1. Your synchronized message goes to channel 3.\n2. Someone else's non-synchronized message goes to channel 3.\n\nIf you were to simply send \"\" on your synchronized message,\nthen someone else's text could be overwritten."},{"tag":"param:client","text":"Client index to send the message to."},{"tag":"param:sync","text":"Synchronization object."},{"tag":"error","text":"Client not in-game, or sync object not valid."}]},"metadata":{"created":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"Handle","name":"sync","decl":"Handle sync","default":null}]},"GetCurrentMap":{"name":"GetCurrentMap","refLine":121,"docStart":3198,"docEnd":3390,"docs":{"brief":"Returns the current map name.","tags":[{"tag":"","text":"Returns the current map name."},{"tag":"param:buffer","text":"Buffer to store map name."},{"tag":"param:maxlength","text":"Maximum length of buffer."},{"tag":"return","text":"Number of bytes written (UTF-8 safe)."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"GetEngineVersion":{"name":"GetEngineVersion","refLine":300,"docStart":10458,"docEnd":10726,"docs":{"brief":"Gets the engine version that the currently-loaded SM core was compiled against.\n\nThe engine version values are not guaranteed to be in any particular order,\nand should only be compared by (in)equality.","tags":[{"tag":"","text":"Gets the engine version that the currently-loaded SM core was compiled against.\n\nThe engine version values are not guaranteed to be in any particular order,\nand should only be compared by (in)equality."},{"tag":"return","text":"An EngineVersion value."}]},"metadata":{"created":{"hash":"a36c266e7d22e86719c5855739e2f25c15098529","count":3960,"time":1374422036},"last_updated":{"hash":"a36c266e7d22e86719c5855739e2f25c15098529","count":3960,"time":1374422036}},"kind":"native","returnType":"EngineVersion","arguments":[]},"SetHudTextParams":{"name":"SetHudTextParams","refLine":517,"docStart":17956,"docEnd":19060,"docs":{"brief":"Sets the HUD parameters for drawing text. These parameters are stored\nglobally, although nothing other than this function and SetHudTextParamsEx\nmodify them.\n\nYou must call this function before drawing text. If you are drawing\ntext to multiple clients, you can set the parameters once, since\nthey won't be modified. However, as soon as you pass control back\nto other plugins, you must reset the parameters next time you draw.","tags":[{"tag":"","text":"Sets the HUD parameters for drawing text. These parameters are stored\nglobally, although nothing other than this function and SetHudTextParamsEx\nmodify them.\n\nYou must call this function before drawing text. If you are drawing\ntext to multiple clients, you can set the parameters once, since\nthey won't be modified. However, as soon as you pass control back\nto other plugins, you must reset the parameters next time you draw."},{"tag":"param:x","text":"x coordinate, from 0 to 1. -1.0 is the center."},{"tag":"param:y","text":"y coordinate, from 0 to 1. -1.0 is the center."},{"tag":"param:holdTime","text":"Number of seconds to hold the text."},{"tag":"param:r","text":"Red color value."},{"tag":"param:g","text":"Green color value."},{"tag":"param:b","text":"Blue color value."},{"tag":"param:a","text":"Alpha transparency value."},{"tag":"param:effect","text":"0/1 causes the text to fade in and fade out.\n2 causes the text to flash[?]."},{"tag":"param:fxTime","text":"Duration of chosen effect (may not apply to all effects)."},{"tag":"param:fadeIn","text":"Number of seconds to spend fading in."},{"tag":"param:fadeOut","text":"Number of seconds to spend fading out."}]},"metadata":{"created":{"hash":"e7f8d1b2f53a70a4fc718244eb45e959c541f0bf","count":1916,"time":1204502078},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"float","name":"x","decl":"float x","default":null},{"type":"float","name":"y","decl":"float y","default":null},{"type":"float","name":"holdTime","decl":"float holdTime","default":null},{"type":"int","name":"r","decl":"int r","default":null},{"type":"int","name":"g","decl":"int g","default":null},{"type":"int","name":"b","decl":"int b","default":null},{"type":"int","name":"a","decl":"int a","default":null},{"type":"int","name":"effect","decl":"int effect","default":"0"},{"type":"float","name":"fxTime","decl":"float fxTime","default":"6.000000"},{"type":"float","name":"fadeIn","decl":"float fadeIn","default":"0.100000"},{"type":"float","name":"fadeOut","decl":"float fadeOut","default":"0.200000"}]},"GetMapDisplayName":{"name":"GetMapDisplayName","refLine":186,"docStart":7350,"docEnd":8142,"docs":{"brief":"Get the display name of a workshop map.\n\nNote: You do not need to call FindMap first. This native will call FindMap internally.","tags":[{"tag":"","text":"Get the display name of a workshop map.\n\nNote: You do not need to call FindMap first. This native will call FindMap internally."},{"tag":"param:map","text":"Map name (usually same as map path relative to maps/ dir,\nexcluding .bsp extension)."},{"tag":"param:displayName","text":"Map's display name, i.e. cp_mymapname or de_mymapname.\nIf FindMap returns FindMap_PossiblyAvailable or FindMap_NotFound,\nthe map cannot be resolved and this native will return false,\nbut displayName will be a copy of map."},{"tag":"param:maxlen","text":"Maximum length to write to displayName var."},{"tag":"return","text":"true if FindMap returns FindMap_Found, FindMap_FuzzyMatch, or\nFindMap_NonCanonical.\nfalse if FindMap returns FindMap_PossiblyAvailable or FindMap_NotFound."}]},"metadata":{"created":{"hash":"10a95cfdce5ea52f8ef991785053eb1c4da1d9c7","count":5647,"time":1442348218},"last_updated":{"hash":"10a95cfdce5ea52f8ef991785053eb1c4da1d9c7","count":5647,"time":1442348218}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"map","decl":"const char[] map","default":null},{"type":"char[]","name":"displayName","decl":"char[] displayName","default":null},{"type":"int","name":"maxlen","decl":"int maxlen","default":null}]},"PrecacheSound":{"name":"PrecacheSound","refLine":190,"docStart":5300,"docEnd":5542,"docs":{"brief":"Precaches a given sound.","tags":[{"tag":"","text":"Precaches a given sound."},{"tag":"param:sound","text":"Name of the sound to precache."},{"tag":"param:preload","text":"If preload is true the file will be precached before level startup."},{"tag":"return","text":"True if successfully precached, false otherwise."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"sound","decl":"const char[] sound","default":null},{"type":"bool","name":"preload","decl":"bool preload","default":"false"}]},"PrintToChat":{"name":"PrintToChat","refLine":361,"docStart":13261,"docEnd":13528,"docs":{"brief":"Prints a message to a specific client in the chat area.","tags":[{"tag":"","text":"Prints a message to a specific client in the chat area."},{"tag":"param:client","text":"Client index."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."},{"tag":"error","text":"If the client is not connected an error will be thrown."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"GetGameDescription":{"name":"GetGameDescription","refLine":102,"docStart":2474,"docEnd":2825,"docs":{"brief":"Returns the game description from the mod.","tags":[{"tag":"","text":"Returns the game description from the mod."},{"tag":"param:buffer","text":"Buffer to store the description."},{"tag":"param:maxlength","text":"Maximum size of the buffer."},{"tag":"param:original","text":"If true, retrieves the original game description,\nignoring any potential hooks from plugins."},{"tag":"return","text":"Number of bytes written to the buffer (UTF-8 safe)."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"bool","name":"original","decl":"bool original","default":"false"}]},"PrintToChatAll":{"name":"PrintToChatAll","refLine":229,"docStart":6580,"docEnd":6752,"docs":{"brief":"Prints a message to all clients in the chat area.","tags":[{"tag":"","text":"Prints a message to all clients in the chat area."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."}]},"metadata":{"created":{"hash":"bd15f93d7d4743b399a7f658378479142874385a","count":893,"time":1181163077},"last_updated":{"hash":"bd15f93d7d4743b399a7f658378479142874385a","count":893,"time":1181163077}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"PrintHintText":{"name":"PrintHintText","refLine":423,"docStart":14858,"docEnd":15124,"docs":{"brief":"Prints a message to a specific client with a hint box.","tags":[{"tag":"","text":"Prints a message to a specific client with a hint box."},{"tag":"param:client","text":"Client index."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."},{"tag":"error","text":"If the client is not connected an error will be thrown."}]},"metadata":{"created":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"GuessSDKVersion":{"name":"GuessSDKVersion","refLine":248,"docStart":7870,"docEnd":8192,"docs":{"brief":"Guesses the SDK version a mod was compiled against. If nothing\nspecific is known about the game, the engine version is used instead.\n\nThe return values are guaranteed to increase chronologically (that is,\na later release will have a higher value).","tags":[{"tag":"","text":"Guesses the SDK version a mod was compiled against. If nothing\nspecific is known about the game, the engine version is used instead.\n\nThe return values are guaranteed to increase chronologically (that is,\na later release will have a higher value)."},{"tag":"return","text":"SOURCE_SDK version code."}]},"metadata":{"created":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184},"last_updated":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184}},"kind":"native","returnType":"int","arguments":[]},"EntIndexToEntRef":{"name":"EntIndexToEntRef","refLine":556,"docStart":19249,"docEnd":19396,"docs":{"brief":"Converts an entity index into a serial encoded entity reference.","tags":[{"tag":"","text":"Converts an entity index into a serial encoded entity reference."},{"tag":"param:entity","text":"Entity index."},{"tag":"return","text":"Entity reference."}]},"metadata":{"created":{"hash":"3e36382b585a8da3e087fb0eb22c937217b83e6f","count":2747,"time":1248395671},"last_updated":{"hash":"3e36382b585a8da3e087fb0eb22c937217b83e6f","count":2747,"time":1248395671}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]},"PrecacheModel":{"name":"PrecacheModel","refLine":130,"docStart":3445,"docEnd":3676,"docs":{"brief":"Precaches a given model.","tags":[{"tag":"","text":"Precaches a given model."},{"tag":"param:model","text":"Name of the model to precache."},{"tag":"param:preload","text":"If preload is true the file will be precached before level startup."},{"tag":"return","text":"Returns the model index, 0 for error."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"model","decl":"const char[] model","default":null},{"type":"bool","name":"preload","decl":"bool preload","default":"false"}]},"SetRandomSeed":{"name":"SetRandomSeed","refLine":128,"docStart":5839,"docEnd":5947,"docs":{"brief":"Sets the seed value for the global Half-Life 2 Random Stream.","tags":[{"tag":"","text":"Sets the seed value for the global Half-Life 2 Random Stream."},{"tag":"param:seed","text":"Seed value."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"seed","decl":"int seed","default":null}]},"PrintCenterText":{"name":"PrintCenterText","refLine":392,"docStart":14043,"docEnd":14321,"docs":{"brief":"Prints a message to a specific client in the center of the screen.","tags":[{"tag":"","text":"Prints a message to a specific client in the center of the screen."},{"tag":"param:client","text":"Client index."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."},{"tag":"error","text":"If the client is not connected an error will be thrown."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"f91d659c6fff94685bb5252790eef0f07ba40d64","count":5908,"time":1463835163}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"GetClientsInRange":{"name":"GetClientsInRange","refLine":685,"docStart":26675,"docEnd":27088,"docs":{"brief":"Find clients that are potentially in range of a position.","tags":[{"tag":"","text":"Find clients that are potentially in range of a position."},{"tag":"param:origin","text":"Coordinates from which to test range."},{"tag":"param:rangeType","text":"Range type to use for filtering clients."},{"tag":"param:clients","text":"Array to which found client indexes will be written."},{"tag":"param:size","text":"Maximum size of clients array."},{"tag":"return","text":"Number of client indexes written to clients array."}]},"metadata":{"created":{"hash":"6d1a2b0d8627cdfcc0e8c6b158e2726174d33be5","count":5145,"time":1419971877},"last_updated":{"hash":"2a9deb6a64799740617751a71fb30a592594d296","count":6470,"time":1573633980}},"kind":"native","returnType":"int","arguments":[{"type":"const float[3]","name":"origin","decl":"const float origin[3]","default":null},{"type":"ClientRangeType","name":"rangeType","decl":"ClientRangeType rangeType","default":null},{"type":"int[]","name":"clients","decl":"int[] clients","default":null},{"type":"int","name":"size","decl":"int size","default":null}]},"GetGameFrameTime":{"name":"GetGameFrameTime","refLine":219,"docStart":8775,"docEnd":8882,"docs":{"brief":"Returns the time the Game took processing the last frame.","tags":[{"tag":"","text":"Returns the time the Game took processing the last frame."},{"tag":"return","text":"Game frame time."}]},"metadata":{"created":{"hash":"44c744b8fd4da788c02275599136ae3ffa0af58d","count":6118,"time":1498472292},"last_updated":{"hash":"44c744b8fd4da788c02275599136ae3ffa0af58d","count":6118,"time":1498472292}},"kind":"native","returnType":"float","arguments":[]},"IsMapValid":{"name":"IsMapValid","refLine":70,"docStart":1841,"docEnd":1995,"docs":{"brief":"Returns whether a map is valid or not.","tags":[{"tag":"","text":"Returns whether a map is valid or not."},{"tag":"param:Map","text":"name, excluding .bsp extension."},{"tag":"return","text":"True if valid, false otherwise."}]},"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"map","decl":"const char[] map","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"SOURCE_SDK_DARKMESSIAH":{"name":"SOURCE_SDK_DARKMESSIAH","refLine":40,"docStart":1851,"docEnd":1924,"docs":{"brief":"Modified version of original engine used by Dark Messiah (no SDK)","tags":[{"tag":"","text":"Modified version of original engine used by Dark Messiah (no SDK)"}]},"metadata":{"created":{"hash":"bd9fab6cf5b8736513f9722c507eee27cb94a2d4","count":2584,"time":1234945162},"last_updated":{"hash":"bd9fab6cf5b8736513f9722c507eee27cb94a2d4","count":2584,"time":1234945162}},"value":"15"},"MOTDPANEL_TYPE_URL":{"name":"MOTDPANEL_TYPE_URL","refLine":23,"docStart":886,"docEnd":918,"docs":{"brief":"Treat msg as an URL link","tags":[{"tag":"","text":"Treat msg as an URL link"}]},"metadata":{"created":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418},"last_updated":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418}},"value":"2"},"INVALID_ENT_REFERENCE":{"name":"INVALID_ENT_REFERENCE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3e36382b585a8da3e087fb0eb22c937217b83e6f","count":2747,"time":1248395671},"last_updated":{"hash":"3e36382b585a8da3e087fb0eb22c937217b83e6f","count":2747,"time":1248395671}},"value":"0xFFFFFFFF"},"SOURCE_SDK_LEFT4DEAD":{"name":"SOURCE_SDK_LEFT4DEAD","refLine":42,"docStart":2018,"docEnd":2072,"docs":{"brief":"Engine released after Left 4 Dead (no SDK yet)","tags":[{"tag":"","text":"Engine released after Left 4 Dead (no SDK yet)"}]},"metadata":{"created":{"hash":"ff7a2c6b73ad3500d9b9a3b830c8521ee0bf6279","count":2405,"time":1226675910},"last_updated":{"hash":"ff7a2c6b73ad3500d9b9a3b830c8521ee0bf6279","count":2405,"time":1226675910}},"value":"40"},"SOURCE_SDK_EPISODE2VALVE":{"name":"SOURCE_SDK_EPISODE2VALVE","refLine":43,"docStart":2132,"docEnd":2186,"docs":{"brief":"SDK+Engine released after Episode 2/Orange Box","tags":[{"tag":"","text":"SDK+Engine released after Episode 2/Orange Box"}]},"metadata":{"created":{"hash":"c468c26ad65e2975953f9f7bea3251c8e2eccebc","count":2894,"time":1263173372},"last_updated":{"hash":"c468c26ad65e2975953f9f7bea3251c8e2eccebc","count":2894,"time":1263173372}},"value":"35"},"_halflife_included":{"name":"_halflife_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634}},"value":""},"MOTDPANEL_TYPE_INDEX":{"name":"MOTDPANEL_TYPE_INDEX","refLine":22,"docStart":810,"docEnd":854,"docs":{"brief":"Msg is auto determined by the engine","tags":[{"tag":"","text":"Msg is auto determined by the engine"}]},"metadata":{"created":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418},"last_updated":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418}},"value":"1"},"MOTDPANEL_TYPE_FILE":{"name":"MOTDPANEL_TYPE_FILE","refLine":24,"docStart":951,"docEnd":996,"docs":{"brief":"Treat msg as a filename to be openned","tags":[{"tag":"","text":"Treat msg as a filename to be openned"}]},"metadata":{"created":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418},"last_updated":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418}},"value":"3"},"SOURCE_SDK_ALIENSWARM":{"name":"SOURCE_SDK_ALIENSWARM","refLine":46,"docStart":2405,"docEnd":2450,"docs":{"brief":"SDK+Engine released after Alien Swarm","tags":[{"tag":"","text":"SDK+Engine released after Alien Swarm"}]},"metadata":{"created":{"hash":"dd44a0aaea79eda341842ba4b97b6fb4149b6b31","count":3100,"time":1280269952},"last_updated":{"hash":"dd44a0aaea79eda341842ba4b97b6fb4149b6b31","count":3100,"time":1280269952}},"value":"60"},"SOURCE_SDK_DOTA":{"name":"SOURCE_SDK_DOTA","refLine":51,"docStart":2939,"docEnd":2984,"docs":{"brief":"Engine released after Dota 2 (no SDK)","tags":[{"tag":"","text":"Engine released after Dota 2 (no SDK)"}]},"metadata":{"created":{"hash":"519e8c5fcd45ff6aaba020c52d2b8eff4fb0b10d","count":3854,"time":1363706324},"last_updated":{"hash":"519e8c5fcd45ff6aaba020c52d2b8eff4fb0b10d","count":3854,"time":1363706324}},"value":"90"},"SOURCE_SDK_BLOODYGOODTIME":{"name":"SOURCE_SDK_BLOODYGOODTIME","refLine":43,"docStart":2133,"docEnd":2205,"docs":{"brief":"Modified version of ep2 engine used by Bloody Good Time (no SDK)","tags":[{"tag":"","text":"Modified version of ep2 engine used by Bloody Good Time (no SDK)"}]},"metadata":{"created":{"hash":"a7218d2e59855a349a93882fda075271e6862998","count":3185,"time":1294810247},"last_updated":{"hash":"a7218d2e59855a349a93882fda075271e6862998","count":3185,"time":1294810247}},"value":"32"},"SOURCE_SDK_EPISODE2":{"name":"SOURCE_SDK_EPISODE2","refLine":41,"docStart":1928,"docEnd":1980,"docs":{"brief":"Engine released after Episode 2 (no SDK yet)","tags":[{"tag":"","text":"Engine released after Episode 2 (no SDK yet)"}]},"metadata":{"created":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184},"last_updated":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184}},"value":"30"},"SOURCE_SDK_LEFT4DEAD2":{"name":"SOURCE_SDK_LEFT4DEAD2","refLine":45,"docStart":2313,"docEnd":2369,"docs":{"brief":"Engine released after Left 4 Dead 2 (no SDK yet)","tags":[{"tag":"","text":"Engine released after Left 4 Dead 2 (no SDK yet)"}]},"metadata":{"created":{"hash":"6d5e7cbe084043d9e2a8a70b4c0170902bb81dcc","count":2895,"time":1263173883},"last_updated":{"hash":"6d5e7cbe084043d9e2a8a70b4c0170902bb81dcc","count":2895,"time":1263173883}},"value":"50"},"SOURCE_SDK_ORIGINAL":{"name":"SOURCE_SDK_ORIGINAL","refLine":39,"docStart":1756,"docEnd":1813,"docs":{"brief":"Original Source engine (still used by \"The Ship\")","tags":[{"tag":"","text":"Original Source engine (still used by \"The Ship\")"}]},"metadata":{"created":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184},"last_updated":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184}},"value":"10"},"MOTDPANEL_TYPE_TEXT":{"name":"MOTDPANEL_TYPE_TEXT","refLine":21,"docStart":745,"docEnd":776,"docs":{"brief":"Treat msg as plain text","tags":[{"tag":"","text":"Treat msg as plain text"}]},"metadata":{"created":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418},"last_updated":{"hash":"4a6a016790f6bc0496ff4a8a040db25274df7107","count":1219,"time":1185837418}},"value":"0"},"SOURCE_SDK_CSS":{"name":"SOURCE_SDK_CSS","refLine":45,"docStart":2348,"docEnd":2437,"docs":{"brief":"Sometime-older version of Source 2009 SDK+Engine, used for Counter-Strike: Source","tags":[{"tag":"","text":"Sometime-older version of Source 2009 SDK+Engine, used for Counter-Strike: Source"}]},"metadata":{"created":{"hash":"8362b8d22628fa16b04849e08fd8d2a6c551d3de","count":3615,"time":1345514039},"last_updated":{"hash":"8362b8d22628fa16b04849e08fd8d2a6c551d3de","count":3615,"time":1345514039}},"value":"34"},"SOURCE_SDK_EYE":{"name":"SOURCE_SDK_EYE","refLine":44,"docStart":2237,"docEnd":2316,"docs":{"brief":"Modified version of ep2 engine used by E.Y.E Divine Cybermancy (no SDK)","tags":[{"tag":"","text":"Modified version of ep2 engine used by E.Y.E Divine Cybermancy (no SDK)"}]},"metadata":{"created":{"hash":"b2311e2ea5f20d46a8e8b12b51d5593b29d63d97","count":3428,"time":1319843380},"last_updated":{"hash":"b2311e2ea5f20d46a8e8b12b51d5593b29d63d97","count":3428,"time":1319843380}},"value":"33"},"SOURCE_SDK_EPISODE1":{"name":"SOURCE_SDK_EPISODE1","refLine":40,"docStart":1849,"docEnd":1892,"docs":{"brief":"SDK+Engine released after Episode 1","tags":[{"tag":"","text":"SDK+Engine released after Episode 1"}]},"metadata":{"created":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184},"last_updated":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184}},"value":"20"},"SOURCE_SDK_UNKNOWN":{"name":"SOURCE_SDK_UNKNOWN","refLine":38,"docStart":1674,"docEnd":1720,"docs":{"brief":"Could not determine the engine version","tags":[{"tag":"","text":"Could not determine the engine version"}]},"metadata":{"created":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184},"last_updated":{"hash":"c033f5415a2271df243508e636e0ebc85d5b92e8","count":1838,"time":1199689184}},"value":"0"},"SOURCE_SDK_CSGO":{"name":"SOURCE_SDK_CSGO","refLine":49,"docStart":2707,"docEnd":2755,"docs":{"brief":"Engine released after CS:GO (no SDK yet)","tags":[{"tag":"","text":"Engine released after CS:GO (no SDK yet)"}]},"metadata":{"created":{"hash":"917b6d4521b539ffef7f4efafa4318819f0b4159","count":3517,"time":1338149283},"last_updated":{"hash":"917b6d4521b539ffef7f4efafa4318819f0b4159","count":3517,"time":1338149283}},"value":"80"}},"enums":{"EngineVersion":{"name":"EngineVersion","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a36c266e7d22e86719c5855739e2f25c15098529","count":3960,"time":1374422036},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"entries":{"Engine_DOTA":{"name":"Engine_DOTA","refLine":82,"docStart":4384,"docEnd":4398,"docs":{"brief":"Dota 2","tags":[{"tag":"","text":"Dota 2"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_BloodyGoodTime":{"name":"Engine_BloodyGoodTime","refLine":77,"docStart":4145,"docEnd":4169,"docs":{"brief":"Bloody Good Time","tags":[{"tag":"","text":"Bloody Good Time"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_NuclearDawn":{"name":"Engine_NuclearDawn","refLine":86,"docStart":4563,"docEnd":4583,"docs":{"brief":"Nuclear Dawn","tags":[{"tag":"","text":"Nuclear Dawn"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_SourceSDK2007":{"name":"Engine_SourceSDK2007","refLine":72,"docStart":3829,"docEnd":3879,"docs":{"brief":"Orange Box Source Engine (third major SDK)","tags":[{"tag":"","text":"Orange Box Source Engine (third major SDK)"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_EYE":{"name":"Engine_EYE","refLine":78,"docStart":4188,"docEnd":4219,"docs":{"brief":"E.Y.E Divine Cybermancy","tags":[{"tag":"","text":"E.Y.E Divine Cybermancy"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_DODS":{"name":"Engine_DODS","refLine":84,"docStart":4467,"docEnd":4496,"docs":{"brief":"Day of Defeat: Source","tags":[{"tag":"","text":"Day of Defeat: Source"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_SDK2013":{"name":"Engine_SDK2013","refLine":87,"docStart":4605,"docEnd":4628,"docs":{"brief":"Source SDK 2013","tags":[{"tag":"","text":"Source SDK 2013"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_Insurgency":{"name":"Engine_Insurgency","refLine":89,"docStart":4694,"docEnd":4733,"docs":{"brief":"Insurgency (2013 Retail version","tags":[{"tag":"","text":"Insurgency (2013 Retail version"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_DarkMessiah":{"name":"Engine_DarkMessiah","refLine":74,"docStart":3946,"docEnd":4005,"docs":{"brief":"Dark Messiah Multiplayer (based on original engine)","tags":[{"tag":"","text":"Dark Messiah Multiplayer (based on original engine)"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_AlienSwarm":{"name":"Engine_AlienSwarm","refLine":76,"docStart":4077,"docEnd":4118,"docs":{"brief":"Alien Swarm (and Alien Swarm SDK)","tags":[{"tag":"","text":"Alien Swarm (and Alien Swarm SDK)"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_BlackMesa":{"name":"Engine_BlackMesa","refLine":91,"docStart":4796,"docEnd":4826,"docs":{"brief":"Black Mesa Multiplayer","tags":[{"tag":"","text":"Black Mesa Multiplayer"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_SourceSDK2006":{"name":"Engine_SourceSDK2006","refLine":71,"docStart":3753,"docEnd":3803,"docs":{"brief":"Episode 1 Source Engine (second major SDK)","tags":[{"tag":"","text":"Episode 1 Source Engine (second major SDK)"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_HL2DM":{"name":"Engine_HL2DM","refLine":83,"docStart":4418,"docEnd":4448,"docs":{"brief":"Half-Life 2 Deathmatch","tags":[{"tag":"","text":"Half-Life 2 Deathmatch"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_Blade":{"name":"Engine_Blade","refLine":88,"docStart":4648,"docEnd":4670,"docs":{"brief":"Blade Symphony","tags":[{"tag":"","text":"Blade Symphony"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_CSGO":{"name":"Engine_CSGO","refLine":80,"docStart":4276,"docEnd":4316,"docs":{"brief":"Counter-Strike: Global Offensive","tags":[{"tag":"","text":"Counter-Strike: Global Offensive"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_Unknown":{"name":"Engine_Unknown","refLine":69,"docStart":3609,"docEnd":3655,"docs":{"brief":"Could not determine the engine version","tags":[{"tag":"","text":"Could not determine the engine version"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_Original":{"name":"Engine_Original","refLine":70,"docStart":3678,"docEnd":3727,"docs":{"brief":"Original Source Engine (used by The Ship)","tags":[{"tag":"","text":"Original Source Engine (used by The Ship)"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_CSS":{"name":"Engine_CSS","refLine":81,"docStart":4335,"docEnd":4365,"docs":{"brief":"Counter-Strike: Source","tags":[{"tag":"","text":"Counter-Strike: Source"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_Left4Dead":{"name":"Engine_Left4Dead","refLine":73,"docStart":3902,"docEnd":3921,"docs":{"brief":"Left 4 Dead","tags":[{"tag":"","text":"Left 4 Dead"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_TF2":{"name":"Engine_TF2","refLine":85,"docStart":4515,"docEnd":4538,"docs":{"brief":"Team Fortress 2","tags":[{"tag":"","text":"Team Fortress 2"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_DOI":{"name":"Engine_DOI","refLine":92,"docStart":4845,"docEnd":4866,"docs":{"brief":"Day of Infamy","tags":[{"tag":"","text":"Day of Infamy"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_Contagion":{"name":"Engine_Contagion","refLine":90,"docStart":4756,"docEnd":4773,"docs":{"brief":"Contagion","tags":[{"tag":"","text":"Contagion"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null},"Engine_Left4Dead2":{"name":"Engine_Left4Dead2","refLine":75,"docStart":4032,"docEnd":4053,"docs":{"brief":"Left 4 Dead 2","tags":[{"tag":"","text":"Left 4 Dead 2"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":"7"},"Engine_Portal2":{"name":"Engine_Portal2","refLine":79,"docStart":4241,"docEnd":4257,"docs":{"brief":"Portal 2","tags":[{"tag":"","text":"Portal 2"}]},"metadata":{"created":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316},"last_updated":{"hash":"95afe72307ca429db1c899f773b370c727a9356f","count":6205,"time":1509738316}},"value":null}}},"DialogType":{"name":"DialogType","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"6c17b9f37bab4f1b9fbfc6363b11a3df48eda56c","count":874,"time":1180679634},"last_updated":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220}},"entries":{"DialogType_AskConnect":{"name":"DialogType_AskConnect","refLine":49,"docStart":2164,"docEnd":2215,"docs":{"brief":"ask the client to connect to a specified IP","tags":[{"tag":"","text":"ask the client to connect to a specified IP"}]},"metadata":{"created":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220},"last_updated":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220}},"value":null},"DialogType_Menu":{"name":"DialogType_Menu","refLine":46,"docStart":2025,"docEnd":2048,"docs":{"brief":"an options menu","tags":[{"tag":"","text":"an options menu"}]},"metadata":{"created":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220},"last_updated":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220}},"value":null},"DialogType_Text":{"name":"DialogType_Text","refLine":47,"docStart":2070,"docEnd":2095,"docs":{"brief":"a richtext dialog","tags":[{"tag":"","text":"a richtext dialog"}]},"metadata":{"created":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220},"last_updated":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220}},"value":null},"DialogType_Msg":{"name":"DialogType_Msg","refLine":45,"docStart":1970,"docEnd":2003,"docs":{"brief":"just an on screen message","tags":[{"tag":"","text":"just an on screen message"}]},"metadata":{"created":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220},"last_updated":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220}},"value":"0"},"DialogType_Entry":{"name":"DialogType_Entry","refLine":48,"docStart":2118,"docEnd":2138,"docs":{"brief":"an entry box","tags":[{"tag":"","text":"an entry box"}]},"metadata":{"created":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220},"last_updated":{"hash":"aec2160e84fe30a18007667950a423726ff124f7","count":1414,"time":1189640220}},"value":null}}},"ClientRangeType":{"name":"ClientRangeType","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"6d1a2b0d8627cdfcc0e8c6b158e2726174d33be5","count":5145,"time":1419971877},"last_updated":{"hash":"6d1a2b0d8627cdfcc0e8c6b158e2726174d33be5","count":5145,"time":1419971877}},"entries":{"RangeType_Audibility":{"name":"RangeType_Audibility","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"6d1a2b0d8627cdfcc0e8c6b158e2726174d33be5","count":5145,"time":1419971877},"last_updated":{"hash":"6d1a2b0d8627cdfcc0e8c6b158e2726174d33be5","count":5145,"time":1419971877}},"value":null},"RangeType_Visibility":{"name":"RangeType_Visibility","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"6d1a2b0d8627cdfcc0e8c6b158e2726174d33be5","count":5145,"time":1419971877},"last_updated":{"hash":"6d1a2b0d8627cdfcc0e8c6b158e2726174d33be5","count":5145,"time":1419971877}},"value":"0"}}},"FindMapResult":{"name":"FindMapResult","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047},"last_updated":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047}},"entries":{"FindMap_Found":{"name":"FindMap_Found","refLine":97,"docStart":4859,"docEnd":4900,"docs":{"brief":"A direct match for this name was found","tags":[{"tag":"","text":"A direct match for this name was found"}]},"metadata":{"created":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047},"last_updated":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047}},"value":null},"FindMap_NotFound":{"name":"FindMap_NotFound","refLine":99,"docStart":4920,"docEnd":4965,"docs":{"brief":"No match for this map name could be found.","tags":[{"tag":"","text":"No match for this map name could be found."}]},"metadata":{"created":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047},"last_updated":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047}},"value":null},"FindMap_FuzzyMatch":{"name":"FindMap_FuzzyMatch","refLine":103,"docStart":4988,"docEnd":5142,"docs":{"brief":"A fuzzy match for this mapname was found and pMapName was updated to the full name.\nEx: cp_dust -> cp_dustbowl\nSupported on many newer games.","tags":[{"tag":"","text":"A fuzzy match for this mapname was found and pMapName was updated to the full name.\nEx: cp_dust -> cp_dustbowl\nSupported on many newer games."}]},"metadata":{"created":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047},"last_updated":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047}},"value":null},"FindMap_NonCanonical":{"name":"FindMap_NonCanonical","refLine":108,"docStart":5167,"docEnd":5403,"docs":{"brief":"A match for this map name was found, and the map name was updated to the canonical version of the\nname.\nEx: workshop/1234 -> workshop/cp_qualified_name.ugc1234\nOnly supported on \"Orangebox\" games with workshop support.","tags":[{"tag":"","text":"A match for this map name was found, and the map name was updated to the canonical version of the\nname.\nEx: workshop/1234 -> workshop/cp_qualified_name.ugc1234\nOnly supported on \"Orangebox\" games with workshop support."}]},"metadata":{"created":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047},"last_updated":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047}},"value":null},"FindMap_PossiblyAvailable":{"name":"FindMap_PossiblyAvailable","refLine":111,"docStart":5430,"docEnd":5590,"docs":{"brief":"No currently available match for this map name could be found, but it may be possible to load\nOnly supported on \"Orangebox\" games with workshop support.","tags":[{"tag":"","text":"No currently available match for this map name could be found, but it may be possible to load\nOnly supported on \"Orangebox\" games with workshop support."}]},"metadata":{"created":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047},"last_updated":{"hash":"f107ff9cd2fefeae1fa51aad3db1f4b4fa8e9968","count":5491,"time":1435425047}},"value":null}}}},"typesets":{},"typedefs":{}},"string":{"functions":{"StripQuotes":{"name":"StripQuotes","refLine":390,"docStart":13352,"docEnd":13845,"docs":{"brief":"Strips a quote pair off a string if it exists. That is, the following\nreplace rule is applied once: $\"(.*)\"^ -> $\\1^\n\nNote that the leading and trailing quotes will only be removed if both\nexist. Otherwise, the string is left unmodified. This function should\nbe considered O(k) (all characters get shifted down).","tags":[{"tag":"","text":"Strips a quote pair off a string if it exists. That is, the following\nreplace rule is applied once: $\"(.*)\"^ -> $\\1^\n\nNote that the leading and trailing quotes will only be removed if both\nexist. Otherwise, the string is left unmodified. This function should\nbe considered O(k) (all characters get shifted down)."},{"tag":"param:text","text":"String to modify (in place)."},{"tag":"return","text":"True if string was modified, false if there was no\nset of quotes."}]},"metadata":{"created":{"hash":"d014010a9959e297aee1d7a1b5d584f82ae327c0","count":2005,"time":1208323629},"last_updated":{"hash":"d014010a9959e297aee1d7a1b5d584f82ae327c0","count":2005,"time":1208323629}},"kind":"native","returnType":"bool","arguments":[{"type":"char[]","name":"text","decl":"char[] text","default":null}]},"FindCharInString":{"name":"FindCharInString","refLine":436,"docStart":14667,"docEnd":15024,"docs":{"brief":"Finds the first occurrence of a character in a string.","tags":[{"tag":"","text":"Finds the first occurrence of a character in a string."},{"tag":"param:str","text":"String."},{"tag":"param:c","text":"Character to search for."},{"tag":"param:reverse","text":"False (default) to search forward, true to search\nbackward."},{"tag":"return","text":"The index of the first occurrence of the character\nin the string, or -1 if the character was not found."}]},"metadata":{"created":{"hash":"2a11739e865882c4f1513891e556e169dc6d2e9b","count":2071,"time":1211605355},"last_updated":{"hash":"c37174cb97395852aae729e3924fa8136981b282","count":4996,"time":1415527389}},"kind":"stock","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"char","name":"c","decl":"char c","default":null},{"type":"bool","name":"reverse","decl":"bool reverse","default":"false"}]},"IsCharNumeric":{"name":"IsCharNumeric","refLine":239,"docStart":7984,"docEnd":8201,"docs":{"brief":"Returns whether a character is numeric.","tags":[{"tag":"","text":"Returns whether a character is numeric."},{"tag":"note","text":"Multi-byte characters will always return false."},{"tag":"param:char","text":"Character to test."},{"tag":"return","text":"True if character is numeric, otherwise false."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"StrContains":{"name":"StrContains","refLine":35,"docStart":558,"docEnd":979,"docs":{"brief":"Tests whether a string is found inside another string.","tags":[{"tag":"","text":"Tests whether a string is found inside another string."},{"tag":"param:str","text":"String to search in."},{"tag":"param:substr","text":"Substring to find inside the original string."},{"tag":"param:caseSensitive","text":"If true (default), search is case sensitive.\nIf false, search is case insensitive."},{"tag":"return","text":"-1 on failure (no match found). Any other value\nindicates a position in the string where the match starts."}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"const char[]","name":"substr","decl":"const char[] substr","default":null},{"type":"bool","name":"caseSensitive","decl":"bool caseSensitive","default":"true"}]},"ExplodeString":{"name":"ExplodeString","refLine":497,"docStart":15829,"docEnd":16382,"docs":{"brief":"Breaks a string into pieces and stores each piece into an array of buffers.","tags":[{"tag":"","text":"Breaks a string into pieces and stores each piece into an array of buffers."},{"tag":"param:text","text":"The string to split."},{"tag":"param:split","text":"The string to use as a split delimiter."},{"tag":"param:buffers","text":"An array of string buffers (2D array)."},{"tag":"param:maxStrings","text":"Number of string buffers (first dimension size)."},{"tag":"param:maxStringLength","text":"Maximum length of each string buffer."},{"tag":"param:copyRemainder","text":"False (default) discard excess pieces, true to ignore\ndelimiters after last piece."},{"tag":"return","text":"Number of strings retrieved."}]},"metadata":{"created":{"hash":"5a50d8ca0af99f2aea5af7fc416179c8fe10a4a3","count":835,"time":1179874731},"last_updated":{"hash":"c01101dbd0bb2126e6fb3a9bb163d615fb2c42e2","count":3366,"time":1311561855}},"kind":"stock","returnType":"int","arguments":[{"type":"const char[]","name":"text","decl":"const char[] text","default":null},{"type":"const char[]","name":"split","decl":"const char[] split","default":null},{"type":"char[][]","name":"buffers","decl":"char[][] buffers","default":null},{"type":"int","name":"maxStrings","decl":"int maxStrings","default":null},{"type":"int","name":"maxStringLength","decl":"int maxStringLength","default":null},{"type":"bool","name":"copyRemainder","decl":"bool copyRemainder","default":"false"}]},"VFormat":{"name":"VFormat","refLine":124,"docStart":4059,"docEnd":4655,"docs":{"brief":"Formats a string according to the SourceMod format rules (see documentation).","tags":[{"tag":"","text":"Formats a string according to the SourceMod format rules (see documentation)."},{"tag":"note","text":"This is the same as Format(), except it grabs parameters from a parent parameter\nstack, rather than a local. This is useful for implementing your own variable\nargument functions."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:varpos","text":"Argument number which contains the '...' symbol.\nNote: Arguments start at 1."},{"tag":"return","text":"Number of bytes written."}]},"metadata":{"created":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572},"last_updated":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"int","name":"varpos","decl":"int varpos","default":null}]},"StrBreak":{"name":"StrBreak","refLine":214,"docStart":7389,"docEnd":7491,"docs":{"brief":"Backwards compatibility stock - use BreakString","tags":[{"tag":"","text":"Backwards compatibility stock - use BreakString"},{"tag":"deprecated","text":"Renamed to BreakString."}]},"metadata":{"created":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572},"last_updated":{"hash":"307181de8d893b6b25c8eee006e910a680a21706","count":831,"time":1179805324}},"kind":"stock","returnType":"int","arguments":[{"type":"const char[]","name":"source","decl":"const char[] source","default":null},{"type":"char[]","name":"arg","decl":"char[] arg","default":null},{"type":"int","name":"argLen","decl":"int argLen","default":null}]},"ReplaceStringEx":{"name":"ReplaceStringEx","refLine":309,"docStart":10692,"docEnd":11506,"docs":{"brief":"Given a string, replaces the first occurrence of a search string with a\nreplacement string.","tags":[{"tag":"","text":"Given a string, replaces the first occurrence of a search string with a\nreplacement string."},{"tag":"param:text","text":"String to perform search and replacements on."},{"tag":"param:maxlength","text":"Maximum length of the string buffer."},{"tag":"param:search","text":"String to search for."},{"tag":"param:replace","text":"String to replace the search string with."},{"tag":"param:searchLen","text":"If higher than -1, its value will be used instead of\na strlen() call on the search parameter."},{"tag":"param:replaceLen","text":"If higher than -1, its value will be used instead of\na strlen() call on the replace parameter."},{"tag":"param:caseSensitive","text":"If true (default), search is case sensitive."},{"tag":"return","text":"Index into the buffer (relative to the start) from where\nthe last replacement ended, or -1 if no replacements were\nmade."}]},"metadata":{"created":{"hash":"0ef893583919ce87146881ca32cca3aa8a594abc","count":834,"time":1179867048},"last_updated":{"hash":"e04d2a4a101f2c0f1bca63144a804be38c41f252","count":2638,"time":1235943704}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"text","decl":"char[] text","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"search","decl":"const char[] search","default":null},{"type":"const char[]","name":"replace","decl":"const char[] replace","default":null},{"type":"int","name":"searchLen","decl":"int searchLen","default":"-1"},{"type":"int","name":"replaceLen","decl":"int replaceLen","default":"-1"},{"type":"bool","name":"caseSensitive","decl":"bool caseSensitive","default":"true"}]},"strlen":{"name":"strlen","refLine":23,"docStart":376,"docEnd":518,"docs":{"brief":"Calculates the length of a string.","tags":[{"tag":"","text":"Calculates the length of a string."},{"tag":"param:str","text":"String to check."},{"tag":"return","text":"Length of string, in cells (NOT characters)."}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null}]},"strcmp":{"name":"strcmp","refLine":58,"docStart":1667,"docEnd":2012,"docs":{"brief":"Compares two strings lexographically.","tags":[{"tag":"","text":"Compares two strings lexographically."},{"tag":"param:str1","text":"First string (left)."},{"tag":"param:str2","text":"Second string (right)."},{"tag":"param:caseSensitive","text":"If true (default), comparison is case sensitive.\nIf false, comparison is case insensitive."},{"tag":"return","text":"-1 if str1 < str2\n0 if str1 == str2\n1 if str1 > str2"}]},"metadata":{"created":{"hash":"e42773b07dbae2b27356b3324e3b21bbfda4bd78","count":681,"time":1176308690},"last_updated":{"hash":"e42773b07dbae2b27356b3324e3b21bbfda4bd78","count":681,"time":1176308690}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str1","decl":"const char[] str1","default":null},{"type":"const char[]","name":"str2","decl":"const char[] str2","default":null},{"type":"bool","name":"caseSensitive","decl":"bool caseSensitive","default":"true"}]},"FormatEx":{"name":"FormatEx","refLine":109,"docStart":3449,"docEnd":3977,"docs":{"brief":"Formats a string according to the SourceMod format rules (see documentation).","tags":[{"tag":"","text":"Formats a string according to the SourceMod format rules (see documentation)."},{"tag":"note","text":"This is the same as Format(), except none of the input buffers can overlap the same\nmemory as the output buffer. Since this security check is removed, it is slightly faster."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."},{"tag":"return","text":"Number of cells written."}]},"metadata":{"created":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572},"last_updated":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"ReplaceString":{"name":"ReplaceString","refLine":290,"docStart":10104,"docEnd":10567,"docs":{"brief":"Given a string, replaces all occurrences of a search string with a\nreplacement string.","tags":[{"tag":"","text":"Given a string, replaces all occurrences of a search string with a\nreplacement string."},{"tag":"param:text","text":"String to perform search and replacements on."},{"tag":"param:maxlength","text":"Maximum length of the string buffer."},{"tag":"param:search","text":"String to search for."},{"tag":"param:replace","text":"String to replace the search string with."},{"tag":"param:caseSensitive","text":"If true (default), search is case sensitive."},{"tag":"return","text":"Number of replacements that were performed."}]},"metadata":{"created":{"hash":"0ef893583919ce87146881ca32cca3aa8a594abc","count":834,"time":1179867048},"last_updated":{"hash":"e04d2a4a101f2c0f1bca63144a804be38c41f252","count":2638,"time":1235943704}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"text","decl":"char[] text","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"search","decl":"const char[] search","default":null},{"type":"const char[]","name":"replace","decl":"const char[] replace","default":null},{"type":"bool","name":"caseSensitive","decl":"bool caseSensitive","default":"true"}]},"StrEqual":{"name":"StrEqual","refLine":60,"docStart":1506,"docEnd":1816,"docs":{"brief":"Returns whether two strings are equal.\n","tags":[{"tag":"","text":"Returns whether two strings are equal.\n"},{"tag":"param:str1","text":"First string (left)."},{"tag":"param:str2","text":"Second string (right)."},{"tag":"param:caseSensitive","text":"If true (default), comparison is case sensitive.\nIf false, comparison is case insensitive."},{"tag":"return","text":"True if equal, false otherwise."}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"2e835df3809bfd35b99282759fd64786f594bf40","count":235,"time":1167505283}},"kind":"stock","returnType":"bool","arguments":[{"type":"const char[]","name":"str1","decl":"const char[] str1","default":null},{"type":"const char[]","name":"str2","decl":"const char[] str2","default":null},{"type":"bool","name":"caseSensitive","decl":"bool caseSensitive","default":"true"}]},"StringToInt":{"name":"StringToInt","refLine":84,"docStart":2418,"docEnd":2621,"docs":{"brief":"Converts a string to an integer.","tags":[{"tag":"","text":"Converts a string to an integer."},{"tag":"param:str","text":"String to convert."},{"tag":"param:nBase","text":"Numerical base to use. 10 is default."},{"tag":"return","text":"Integer conversion of string, or 0 on failure."}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"int","name":"nBase","decl":"int nBase","default":"10"}]},"CharToUpper":{"name":"CharToUpper","refLine":287,"docStart":9270,"docEnd":9460,"docs":{"brief":"Returns an uppercase character to a lowercase character.","tags":[{"tag":"","text":"Returns an uppercase character to a lowercase character."},{"tag":"param:chr","text":"Characer to convert."},{"tag":"return","text":"Lowercase character on success,\nno change on failure."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"stock","returnType":"int","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"GetCharBytes":{"name":"GetCharBytes","refLine":219,"docStart":7390,"docEnd":7658,"docs":{"brief":"Returns the number of bytes a character is using. This is\nfor multi-byte characters (UTF-8). For normal ASCII characters,\nthis will return 1.","tags":[{"tag":"","text":"Returns the number of bytes a character is using. This is\nfor multi-byte characters (UTF-8). For normal ASCII characters,\nthis will return 1."},{"tag":"param:source","text":"Source input string."},{"tag":"return","text":"Number of bytes the current character uses."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"source","decl":"const char[] source","default":null}]},"IsCharMB":{"name":"IsCharMB","refLine":258,"docStart":8496,"docEnd":8707,"docs":{"brief":"Returns if a character is multi-byte or not.","tags":[{"tag":"","text":"Returns if a character is multi-byte or not."},{"tag":"param:char","text":"Character to test."},{"tag":"return","text":"0 for a normal 7-bit ASCII character,\notherwise number of bytes in multi-byte character."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"ExplodeStringLumiStance":{"name":"ExplodeStringLumiStance","refLine":497,"docStart":15829,"docEnd":16382,"docs":{"brief":"Breaks a string into pieces and stores each piece into an array of buffers.","tags":[{"tag":"","text":"Breaks a string into pieces and stores each piece into an array of buffers."},{"tag":"param:text","text":"The string to split."},{"tag":"param:split","text":"The string to use as a split delimiter."},{"tag":"param:buffers","text":"An array of string buffers (2D array)."},{"tag":"param:maxStrings","text":"Number of string buffers (first dimension size)."},{"tag":"param:maxStringLength","text":"Maximum length of each string buffer."},{"tag":"param:copyRemainder","text":"False (default) discard excess pieces, true to ignore\ndelimiters after last piece."},{"tag":"return","text":"Number of strings retrieved."}]},"metadata":{"created":{"hash":"f7364111f2cffcdebb643c3f310cd423ff5164a5","count":3365,"time":1311561015},"last_updated":{"hash":"f7364111f2cffcdebb643c3f310cd423ff5164a5","count":3365,"time":1311561015}},"kind":"stock","returnType":"int","arguments":[{"type":"const char[]","name":"text","decl":"const char[] text","default":null},{"type":"const char[]","name":"split","decl":"const char[] split","default":null},{"type":"char[][]","name":"buffers","decl":"char[][] buffers","default":null},{"type":"int","name":"maxStrings","decl":"int maxStrings","default":null},{"type":"int","name":"maxStringLength","decl":"int maxStringLength","default":null},{"type":"bool","name":"copyRemainder","decl":"bool copyRemainder","default":"false"}]},"StringToInt64":{"name":"StringToInt64","refLine":207,"docStart":7849,"docEnd":8184,"docs":{"brief":"Converts a string to a 64-bit integer.","tags":[{"tag":"","text":"Converts a string to a 64-bit integer."},{"tag":"param:str","text":"String to convert."},{"tag":"param:result","text":"Array to store the upper and lower\n32-bits of the 64-bit integer."},{"tag":"param:nBase","text":"Numerical base to use. 10 is default."},{"tag":"return","text":"Number of characters consumed."}]},"metadata":{"created":{"hash":"f603b7aec3219e0db56882447b35a57afe4c6d8a","count":6701,"time":1624913509},"last_updated":{"hash":"f603b7aec3219e0db56882447b35a57afe4c6d8a","count":6701,"time":1624913509}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"int[2]","name":"result","decl":"int result[2]","default":null},{"type":"int","name":"nBase","decl":"int nBase","default":"10"}]},"StrCopy":{"name":"StrCopy","refLine":114,"docStart":3765,"docEnd":3858,"docs":{"brief":"Backwards compatibility stock - use strcopy","tags":[{"tag":"","text":"Backwards compatibility stock - use strcopy"},{"tag":"deprecated","text":"Renamed to strcopy"}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"4ecb7a985fc36649aa74646b7d4b59fd391bbabb","count":682,"time":1176322040}},"kind":"stock","returnType":"int","arguments":[{"type":"char[]","name":"dest","decl":"char[] dest","default":null},{"type":"int","name":"destLen","decl":"int destLen","default":null},{"type":"const char[]","name":"source","decl":"const char[] source","default":null}]},"IsCharAlpha":{"name":"IsCharAlpha","refLine":229,"docStart":7707,"docEnd":7949,"docs":{"brief":"Returns whether a character is an ASCII alphabet character.","tags":[{"tag":"","text":"Returns whether a character is an ASCII alphabet character."},{"tag":"note","text":"Multi-byte characters will always return false."},{"tag":"param:char","text":"Character to test."},{"tag":"return","text":"True if character is alphabetical, otherwise false."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"IntToString":{"name":"IntToString","refLine":143,"docStart":4995,"docEnd":5230,"docs":{"brief":"Converts an integer to a string.","tags":[{"tag":"","text":"Converts an integer to a string."},{"tag":"param:num","text":"Integer to convert."},{"tag":"param:str","text":"Buffer to store string in."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"return","text":"Number of cells written to buffer."}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"num","decl":"int num","default":null},{"type":"char[]","name":"str","decl":"char[] str","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"StrCompare":{"name":"StrCompare","refLine":77,"docStart":2593,"docEnd":2659,"docs":{"brief":"Backwards compatible stock - StrCompare is now strcmp","tags":[{"tag":"","text":"Backwards compatible stock - StrCompare is now strcmp"}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"e42773b07dbae2b27356b3324e3b21bbfda4bd78","count":681,"time":1176308690}},"kind":"stock","returnType":"int","arguments":[{"type":"const char[]","name":"str1","decl":"const char[] str1","default":null},{"type":"const char[]","name":"str2","decl":"const char[] str2","default":null},{"type":"bool","name":"caseSensitive","decl":"bool caseSensitive","default":"true"}]},"StringToFloatEx":{"name":"StringToFloatEx","refLine":203,"docStart":6782,"docEnd":7008,"docs":{"brief":"Converts a string to a floating point number with some more options.","tags":[{"tag":"","text":"Converts a string to a floating point number with some more options."},{"tag":"param:str","text":"String to convert to a foat."},{"tag":"param:result","text":"Variable to store result in."},{"tag":"return","text":"Number of characters consumed."}]},"metadata":{"created":{"hash":"9a2fbe5f9fc17d4365edad44edf1cd7c7d5b167c","count":1073,"time":1183917635},"last_updated":{"hash":"9a2fbe5f9fc17d4365edad44edf1cd7c7d5b167c","count":1073,"time":1183917635}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"float&","name":"result","decl":"float& result","default":null}]},"BreakString":{"name":"BreakString","refLine":208,"docStart":6777,"docEnd":7319,"docs":{"brief":"Finds the first \"argument\" in a string; either a set of space\nterminated characters, or a fully quoted string. After the\nargument is found, whitespace is read until the next portion\nof the string is reached. If nothing remains, -1 is returned.\nOtherwise, the index to the first character is returned.","tags":[{"tag":"","text":"Finds the first \"argument\" in a string; either a set of space\nterminated characters, or a fully quoted string. After the\nargument is found, whitespace is read until the next portion\nof the string is reached. If nothing remains, -1 is returned.\nOtherwise, the index to the first character is returned."},{"tag":"param:source","text":"Source input string."},{"tag":"param:arg","text":"Stores argument read from string."},{"tag":"param:argLen","text":"Maximum length of argument buffer."},{"tag":"return","text":"Index to next piece of string, or -1 if none."}]},"metadata":{"created":{"hash":"307181de8d893b6b25c8eee006e910a680a21706","count":831,"time":1179805324},"last_updated":{"hash":"307181de8d893b6b25c8eee006e910a680a21706","count":831,"time":1179805324}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"source","decl":"const char[] source","default":null},{"type":"char[]","name":"arg","decl":"char[] arg","default":null},{"type":"int","name":"argLen","decl":"int argLen","default":null}]},"StringToFloat":{"name":"StringToFloat","refLine":102,"docStart":2965,"docEnd":3128,"docs":{"brief":"Converts a string to a floating point number.","tags":[{"tag":"","text":"Converts a string to a floating point number."},{"tag":"param:str","text":"String to convert to a foat."},{"tag":"return","text":"Floating point result, or 0.0 on error."}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397}},"kind":"native","returnType":"float","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null}]},"IsCharLower":{"name":"IsCharLower","refLine":278,"docStart":9002,"docEnd":9235,"docs":{"brief":"Returns whether an alphabetic character is lowercase.","tags":[{"tag":"","text":"Returns whether an alphabetic character is lowercase."},{"tag":"note","text":"Multi-byte characters will always return false."},{"tag":"param:char","text":"Character to test."},{"tag":"return","text":"True if character is lowercase, otherwise false."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"FloatToString":{"name":"FloatToString","refLine":161,"docStart":5502,"docEnd":5764,"docs":{"brief":"Converts a floating point number to a string.","tags":[{"tag":"","text":"Converts a floating point number to a string."},{"tag":"param:num","text":"Floating point number to convert."},{"tag":"param:str","text":"Buffer to store string in."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"return","text":"Number of cells written to buffer."}]},"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572}},"kind":"native","returnType":"int","arguments":[{"type":"float","name":"num","decl":"float num","default":null},{"type":"char[]","name":"str","decl":"char[] str","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"StrCat":{"name":"StrCat","refLine":334,"docStart":10472,"docEnd":10710,"docs":{"brief":"Concatenates one string onto another.","tags":[{"tag":"","text":"Concatenates one string onto another."},{"tag":"param:buffer","text":"String to append to."},{"tag":"param:maxlength","text":"Maximum length of entire buffer."},{"tag":"param:source","text":"Source string to concatenate."},{"tag":"return","text":"Number of bytes written."}]},"metadata":{"created":{"hash":"67a0cdf1c306952a28a25216cd0afde8d658bb13","count":750,"time":1178494545},"last_updated":{"hash":"67a0cdf1c306952a28a25216cd0afde8d658bb13","count":750,"time":1178494545}},"kind":"stock","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"source","decl":"const char[] source","default":null}]},"IsCharSpace":{"name":"IsCharSpace","refLine":249,"docStart":8238,"docEnd":8461,"docs":{"brief":"Returns whether a character is whitespace.","tags":[{"tag":"","text":"Returns whether a character is whitespace."},{"tag":"note","text":"Multi-byte characters will always return false."},{"tag":"param:char","text":"Character to test."},{"tag":"return","text":"True if character is whitespace, otherwise false."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"SplitString":{"name":"SplitString","refLine":230,"docStart":7605,"docEnd":8121,"docs":{"brief":"Returns text in a string up until a certain character sequence is reached.","tags":[{"tag":"","text":"Returns text in a string up until a certain character sequence is reached."},{"tag":"param:source","text":"Source input string."},{"tag":"param:part","text":"Buffer to store string part."},{"tag":"param:partLen","text":"Maximum length of the string part buffer."},{"tag":"param:split","text":"A string which specifies a search point to break at."},{"tag":"return","text":"-1 if no match was found; otherwise, an index into source\nmarking the first index after the searched text. The\nindex is always relative to the start of the input string."}]},"metadata":{"created":{"hash":"5a50d8ca0af99f2aea5af7fc416179c8fe10a4a3","count":835,"time":1179874731},"last_updated":{"hash":"5a50d8ca0af99f2aea5af7fc416179c8fe10a4a3","count":835,"time":1179874731}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"source","decl":"const char[] source","default":null},{"type":"const char[]","name":"split","decl":"const char[] split","default":null},{"type":"char[]","name":"part","decl":"char[] part","default":null},{"type":"int","name":"partLen","decl":"int partLen","default":null}]},"ImplodeStrings":{"name":"ImplodeStrings","refLine":441,"docStart":13758,"docEnd":14267,"docs":{"brief":"Joins an array of strings into one string, with a \"join\" string inserted in\nbetween each given string. This function complements ExplodeString.","tags":[{"tag":"","text":"Joins an array of strings into one string, with a \"join\" string inserted in\nbetween each given string. This function complements ExplodeString."},{"tag":"param:strings","text":"An array of strings."},{"tag":"param:numStrings","text":"Number of strings in the array."},{"tag":"param:join","text":"The join string to insert between each string."},{"tag":"param:buffer","text":"Output buffer to write the joined string to."},{"tag":"param:maxLength","text":"Maximum length of the output buffer."},{"tag":"return","text":"Number of bytes written to the output buffer."}]},"metadata":{"created":{"hash":"5a50d8ca0af99f2aea5af7fc416179c8fe10a4a3","count":835,"time":1179874731},"last_updated":{"hash":"5a50d8ca0af99f2aea5af7fc416179c8fe10a4a3","count":835,"time":1179874731}},"kind":"stock","returnType":"int","arguments":[{"type":"const char[][]","name":"strings","decl":"const char[][] strings","default":null},{"type":"int","name":"numStrings","decl":"int numStrings","default":null},{"type":"const char[]","name":"join","decl":"const char[] join","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxLength","decl":"int maxLength","default":null}]},"StringToIntEx":{"name":"StringToIntEx","refLine":176,"docStart":5945,"docEnd":6209,"docs":{"brief":"Converts a string to an integer with some more options.","tags":[{"tag":"","text":"Converts a string to an integer with some more options."},{"tag":"param:str","text":"String to convert."},{"tag":"param:result","text":"Variable to store the result in."},{"tag":"param:nBase","text":"Numerical base to use. 10 is default."},{"tag":"return","text":"Number of characters consumed."}]},"metadata":{"created":{"hash":"9a2fbe5f9fc17d4365edad44edf1cd7c7d5b167c","count":1073,"time":1183917635},"last_updated":{"hash":"9a2fbe5f9fc17d4365edad44edf1cd7c7d5b167c","count":1073,"time":1183917635}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"int&","name":"result","decl":"int& result","default":null},{"type":"int","name":"nBase","decl":"int nBase","default":"10"}]},"strncmp":{"name":"strncmp","refLine":72,"docStart":2099,"docEnd":2500,"docs":{"brief":"Compares two strings parts lexographically.","tags":[{"tag":"","text":"Compares two strings parts lexographically."},{"tag":"param:str1","text":"First string (left)."},{"tag":"param:str2","text":"Second string (right)."},{"tag":"param:num","text":"Number of characters to compare."},{"tag":"param:caseSensitive","text":"If true (default), comparison is case sensitive.\nIf false, comparison is case insensitive."},{"tag":"return","text":"-1 if str1 < str2\n0 if str1 == str2\n1 if str1 > str2"}]},"metadata":{"created":{"hash":"e42773b07dbae2b27356b3324e3b21bbfda4bd78","count":681,"time":1176308690},"last_updated":{"hash":"e42773b07dbae2b27356b3324e3b21bbfda4bd78","count":681,"time":1176308690}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"str1","decl":"const char[] str1","default":null},{"type":"const char[]","name":"str2","decl":"const char[] str2","default":null},{"type":"int","name":"num","decl":"int num","default":null},{"type":"bool","name":"caseSensitive","decl":"bool caseSensitive","default":"true"}]},"CharToLower":{"name":"CharToLower","refLine":303,"docStart":9567,"docEnd":9757,"docs":{"brief":"Returns a lowercase character to an uppercase character.","tags":[{"tag":"","text":"Returns a lowercase character to an uppercase character."},{"tag":"param:chr","text":"Characer to convert."},{"tag":"return","text":"Uppercase character on success,\nno change on failure."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"stock","returnType":"int","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"strcopy":{"name":"strcopy","refLine":108,"docStart":3298,"docEnd":3697,"docs":{"brief":"Copies one string to another string.","tags":[{"tag":"","text":"Copies one string to another string."},{"tag":"note","text":"If the destination buffer is too small to hold the source string, the\ndestination will be truncated."},{"tag":"param:dest","text":"Destination string buffer to copy to."},{"tag":"param:destlen","text":"Destination buffer length (includes null terminator)."},{"tag":"param:source","text":"Source string buffer to copy from."},{"tag":"return","text":"Number of cells written."}]},"metadata":{"created":{"hash":"4ecb7a985fc36649aa74646b7d4b59fd391bbabb","count":682,"time":1176322040},"last_updated":{"hash":"4ecb7a985fc36649aa74646b7d4b59fd391bbabb","count":682,"time":1176322040}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"dest","decl":"char[] dest","default":null},{"type":"int","name":"destLen","decl":"int destLen","default":null},{"type":"const char[]","name":"source","decl":"const char[] source","default":null}]},"Format":{"name":"Format","refLine":96,"docStart":3035,"docEnd":3369,"docs":{"brief":"Formats a string according to the SourceMod format rules (see documentation).","tags":[{"tag":"","text":"Formats a string according to the SourceMod format rules (see documentation)."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."},{"tag":"return","text":"Number of cells written."}]},"metadata":{"created":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572},"last_updated":{"hash":"5187ea19036cead2218b933798c28a06fc44145f","count":635,"time":1174077572}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"IsCharUpper":{"name":"IsCharUpper","refLine":268,"docStart":8734,"docEnd":8967,"docs":{"brief":"Returns whether an alphabetic character is uppercase.","tags":[{"tag":"","text":"Returns whether an alphabetic character is uppercase."},{"tag":"note","text":"Multi-byte characters will always return false."},{"tag":"param:char","text":"Character to test."},{"tag":"return","text":"True if character is uppercase, otherwise false."}]},"metadata":{"created":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174},"last_updated":{"hash":"eb5b94ec4449fd7428d97b083b629c7c35cc4c30","count":749,"time":1178493174}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"Int64ToString":{"name":"Int64ToString","refLine":229,"docStart":8591,"docEnd":9001,"docs":{"brief":"Converts a 64-bit integer to a string.","tags":[{"tag":"","text":"Converts a 64-bit integer to a string."},{"tag":"param:num","text":"Array containing the upper and lower\n32-bits of a 64-bit integer."},{"tag":"param:str","text":"Buffer to store string in."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"return","text":"Number of characters written to the buffer,\nnot including the null terminator."}]},"metadata":{"created":{"hash":"f603b7aec3219e0db56882447b35a57afe4c6d8a","count":6701,"time":1624913509},"last_updated":{"hash":"f603b7aec3219e0db56882447b35a57afe4c6d8a","count":6701,"time":1624913509}},"kind":"native","returnType":"int","arguments":[{"type":"const int[2]","name":"num","decl":"const int num[2]","default":null},{"type":"char[]","name":"str","decl":"char[] str","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"TrimString":{"name":"TrimString","refLine":345,"docStart":10526,"docEnd":10702,"docs":{"brief":"Removes whitespace characters from the beginning and end of a string.","tags":[{"tag":"","text":"Removes whitespace characters from the beginning and end of a string."},{"tag":"param:str","text":"The string to trim."},{"tag":"return","text":"Number of bytes written (UTF-8 safe)."}]},"metadata":{"created":{"hash":"307181de8d893b6b25c8eee006e910a680a21706","count":831,"time":1179805324},"last_updated":{"hash":"307181de8d893b6b25c8eee006e910a680a21706","count":831,"time":1179805324}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"str","decl":"char[] str","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_string_included":{"name":"_string_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397},"last_updated":{"hash":"388c062c96c59c40b0a3eef45e32754b6d46acb1","count":234,"time":1167463397}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"adminmenu":{"functions":{"OnAdminMenuReady":{"name":"OnAdminMenuReady","refLine":74,"docStart":2532,"docEnd":2662,"docs":{"brief":"Called when the admin menu is ready to have items added.","tags":[{"tag":"","text":"Called when the admin menu is ready to have items added."},{"tag":"param:topmenu","text":"Handle to the admin menu's TopMenu."}]},"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"adbdcd6b1d7592adec435122aa4c4b329a75ede7","count":5345,"time":1425665889}},"kind":"forward","returnType":"void","arguments":[{"type":"Handle","name":"topmenu","decl":"Handle topmenu","default":null}]},"AddTargetsToMenu":{"name":"AddTargetsToMenu","refLine":98,"docStart":2928,"docEnd":3341,"docs":{"brief":"Adds targets to an admin menu.\n\nEach client is displayed as: name (userid)\nEach item contains the userid as a string for its info.","tags":[{"tag":"","text":"Adds targets to an admin menu.\n\nEach client is displayed as: name (userid)\nEach item contains the userid as a string for its info."},{"tag":"param:menu","text":"Menu Handle."},{"tag":"param:source_client","text":"Source client, or 0 to ignore immunity."},{"tag":"param:in_game_only","text":"True to only select in-game players."},{"tag":"param:alive_only","text":"True to only select alive players."},{"tag":"return","text":"Number of clients added."}]},"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"menu","decl":"Handle menu","default":null},{"type":"int","name":"source_client","decl":"int source_client","default":null},{"type":"bool","name":"in_game_only","decl":"bool in_game_only","default":"true"},{"type":"bool","name":"alive_only","decl":"bool alive_only","default":"false"}]},"GetAdminTopMenu":{"name":"GetAdminTopMenu","refLine":84,"docStart":2734,"docEnd":2892,"docs":{"brief":"Retrieves the Handle to the admin top menu.","tags":[{"tag":"","text":"Retrieves the Handle to the admin top menu."},{"tag":"return","text":"Handle to the admin menu's TopMenu,\nor INVALID_HANDLE if not created yet."}]},"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"b97335ccb0024ce44e5bb12032b1b40dc417fa46","count":4941,"time":1414722033}},"kind":"native","returnType":"TopMenu","arguments":[]},"OnAdminMenuCreated":{"name":"OnAdminMenuCreated","refLine":67,"docStart":2301,"docEnd":2478,"docs":{"brief":"Called when the admin menu is created and 3rd party plugins can grab\nthe Handle or add categories.","tags":[{"tag":"","text":"Called when the admin menu is created and 3rd party plugins can grab\nthe Handle or add categories."},{"tag":"param:topmenu","text":"Handle to the admin menu's TopMenu."}]},"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"adbdcd6b1d7592adec435122aa4c4b329a75ede7","count":5345,"time":1425665889}},"kind":"forward","returnType":"void","arguments":[{"type":"Handle","name":"topmenu","decl":"Handle topmenu","default":null}]},"AddTargetsToMenu2":{"name":"AddTargetsToMenu2","refLine":114,"docStart":3470,"docEnd":3829,"docs":{"brief":"Adds targets to an admin menu.\n\nEach client is displayed as: name (userid)\nEach item contains the userid as a string for its info.","tags":[{"tag":"","text":"Adds targets to an admin menu.\n\nEach client is displayed as: name (userid)\nEach item contains the userid as a string for its info."},{"tag":"param:menu","text":"Menu Handle."},{"tag":"param:source_client","text":"Source client, or 0 to ignore immunity."},{"tag":"param:flags","text":"COMMAND_FILTER flags from commandfilters.inc."},{"tag":"return","text":"Number of clients added."}]},"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"menu","decl":"Handle menu","default":null},{"type":"int","name":"source_client","decl":"int source_client","default":null},{"type":"int","name":"flags","decl":"int flags","default":null}]},"__pl_adminmenu_SetNTVOptional":{"name":"__pl_adminmenu_SetNTVOptional","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365}},"kind":"public","returnType":"void","arguments":[]},"RedisplayAdminMenu":{"name":"RedisplayAdminMenu","refLine":124,"docStart":3895,"docEnd":4136,"docs":{"brief":"Re-displays the admin menu to a client after selecting an item.\nAuto-aborts if the Handle is invalid.","tags":[{"tag":"","text":"Re-displays the admin menu to a client after selecting an item.\nAuto-aborts if the Handle is invalid."},{"tag":"param:topmenu","text":"TopMenu Handle."},{"tag":"param:client","text":"Client index."},{"tag":"return","text":"True on success, false on failure."}]},"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365}},"kind":"stock","returnType":"bool","arguments":[{"type":"Handle","name":"topmenu","decl":"Handle topmenu","default":null},{"type":"int","name":"client","decl":"int client","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_adminmenu_included":{"name":"_adminmenu_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365}},"value":""},"ADMINMENU_SERVERCOMMANDS":{"name":"ADMINMENU_SERVERCOMMANDS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365}},"value":"\"ServerCommands\""},"ADMINMENU_PLAYERCOMMANDS":{"name":"ADMINMENU_PLAYERCOMMANDS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365}},"value":"\"PlayerCommands\""},"ADMINMENU_VOTINGCOMMANDS":{"name":"ADMINMENU_VOTINGCOMMANDS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365},"last_updated":{"hash":"3b0785cae06ad488c410c90304edd55020456ea6","count":2905,"time":1263457365}},"value":"\"VotingCommands\""}},"enums":{},"typesets":{},"typedefs":{}},"sdktools_trace":{"functions":{"TR_GetSurfaceProps":{"name":"TR_GetSurfaceProps","refLine":581,"docStart":23619,"docEnd":23843,"docs":{"brief":"Returns the surface properties index of the surface that was hit.","tags":[{"tag":"","text":"Returns the surface properties index of the surface that was hit."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Surface props."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_GetStartPosition":{"name":"TR_GetStartPosition","refLine":534,"docStart":22050,"docEnd":22269,"docs":{"brief":"Returns the starting position of a trace.","tags":[{"tag":"","text":"Returns the starting position of a trace."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"param:pos","text":"Vector buffer to store data in."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":null},{"type":"float[3]","name":"pos","decl":"float pos[3]","default":null}]},"TR_GetFraction":{"name":"TR_GetFraction","refLine":319,"docStart":13245,"docEnd":13494,"docs":{"brief":"Returns the time fraction from a trace result (1.0 means no collision).","tags":[{"tag":"","text":"Returns the time fraction from a trace result (1.0 means no collision)."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Time fraction value of the trace."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_TraceHull":{"name":"TR_TraceHull","refLine":176,"docStart":8361,"docEnd":8631,"docs":{"brief":"Starts up a new trace hull using a global trace result.","tags":[{"tag":"","text":"Starts up a new trace hull using a global trace result."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Ending position of the ray."},{"tag":"param:mins","text":"Hull minimum size."},{"tag":"param:maxs","text":"Hull maximum size."},{"tag":"param:flags","text":"Trace flags."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"const float[3]","name":"mins","decl":"const float mins[3]","default":null},{"type":"const float[3]","name":"maxs","decl":"const float maxs[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null}]},"TR_GetPointContents":{"name":"TR_GetPointContents","refLine":142,"docStart":7357,"docEnd":7588,"docs":{"brief":"Get the contents mask and the entity index at the given position.","tags":[{"tag":"","text":"Get the contents mask and the entity index at the given position."},{"tag":"param:pos","text":"World position to test."},{"tag":"param:entindex","text":"Entity index found at the given position (by reference)."},{"tag":"return","text":"Contents mask."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"int","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"int&","name":"entindex","decl":"int& entindex","default":"-1"}]},"TR_GetPointContentsEnt":{"name":"TR_GetPointContentsEnt","refLine":151,"docStart":7655,"docEnd":7837,"docs":{"brief":"Get the point contents testing only the given entity index.","tags":[{"tag":"","text":"Get the point contents testing only the given entity index."},{"tag":"param:entindex","text":"Entity index to test."},{"tag":"param:pos","text":"World position."},{"tag":"return","text":"Contents mask."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"entindex","decl":"int entindex","default":null},{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null}]},"TR_ClipRayToEntityEx":{"name":"TR_ClipRayToEntityEx","refLine":423,"docStart":16774,"docEnd":17176,"docs":{"brief":"Clips a ray to a particular entity.","tags":[{"tag":"","text":"Clips a ray to a particular entity."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Depending on RayType, it will be used as the ending\npoint, or the direction angle."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:rtype","text":"Method to calculate the ray direction."},{"tag":"param:entity","text":"Entity to clip to."},{"tag":"return","text":"Ray trace handle, which must be closed via CloseHandle()."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"kind":"native","returnType":"Handle","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"RayType","name":"rtype","decl":"RayType rtype","default":null},{"type":"int","name":"entity","decl":"int entity","default":null}]},"TR_TraceHullEx":{"name":"TR_TraceHullEx","refLine":259,"docStart":10976,"docEnd":11316,"docs":{"brief":"Starts up a new trace hull using a new trace result.","tags":[{"tag":"","text":"Starts up a new trace hull using a new trace result."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Ending position of the ray."},{"tag":"param:mins","text":"Hull minimum size."},{"tag":"param:maxs","text":"Hull maximum size."},{"tag":"param:flags","text":"Trace flags."},{"tag":"return","text":"Ray trace handle, which must be closed via CloseHandle()."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"Handle","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"const float[3]","name":"mins","decl":"const float mins[3]","default":null},{"type":"const float[3]","name":"maxs","decl":"const float maxs[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null}]},"TR_GetFractionLeftSolid":{"name":"TR_GetFractionLeftSolid","refLine":525,"docStart":21682,"docEnd":21979,"docs":{"brief":"Returns the time fraction from a trace result when it left a solid.\nOnly valid if trace started in solid","tags":[{"tag":"","text":"Returns the time fraction from a trace result when it left a solid.\nOnly valid if trace started in solid"},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Time fraction left solid value of the trace."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_GetSurfaceFlags":{"name":"TR_GetSurfaceFlags","refLine":590,"docStart":23907,"docEnd":24104,"docs":{"brief":"Returns the surface flags. See SURF_*.","tags":[{"tag":"","text":"Returns the surface flags. See SURF_*."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Surface flags."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_TraceRayFilterEx":{"name":"TR_TraceRayFilterEx","refLine":281,"docStart":11476,"docEnd":12158,"docs":{"brief":"Starts up a new trace ray using a new trace result and a customized\ntrace ray filter.\n\nCalling TR_Trace*Filter or TR_TraceRay*Ex from inside a filter\nfunction is currently not allowed and may not work.","tags":[{"tag":"","text":"Starts up a new trace ray using a new trace result and a customized\ntrace ray filter.\n\nCalling TR_Trace*Filter or TR_TraceRay*Ex from inside a filter\nfunction is currently not allowed and may not work."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Depending on RayType, it will be used as the ending\npoint, or the direction angle."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:rtype","text":"Method to calculate the ray direction."},{"tag":"param:filter","text":"Function to use as a filter."},{"tag":"param:data","text":"Arbitrary data value to pass through to the filter function."},{"tag":"return","text":"Ray trace handle, which must be closed via CloseHandle()."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"Handle","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"RayType","name":"rtype","decl":"RayType rtype","default":null},{"type":"TraceEntityFilter","name":"filter","decl":"TraceEntityFilter filter","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_GetHitGroup":{"name":"TR_GetHitGroup","refLine":356,"docStart":14473,"docEnd":14691,"docs":{"brief":"Returns in which body hit group the trace collided if any.","tags":[{"tag":"","text":"Returns in which body hit group the trace collided if any."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Body hit group."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_TraceHullFilterEx":{"name":"TR_TraceHullFilterEx","refLine":304,"docStart":12366,"docEnd":13003,"docs":{"brief":"Starts up a new trace hull using a new trace result and a customized\ntrace ray filter.\n\nCalling TR_Trace*Filter or TR_Trace*FilterEx from inside a filter\nfunction is currently not allowed and may not work.","tags":[{"tag":"","text":"Starts up a new trace hull using a new trace result and a customized\ntrace ray filter.\n\nCalling TR_Trace*Filter or TR_Trace*FilterEx from inside a filter\nfunction is currently not allowed and may not work."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Ending position of the ray."},{"tag":"param:mins","text":"Hull minimum size."},{"tag":"param:maxs","text":"Hull maximum size."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:filter","text":"Function to use as a filter."},{"tag":"param:data","text":"Arbitrary data value to pass through to the filter function."},{"tag":"return","text":"Ray trace handle, which must be closed via CloseHandle()."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"Handle","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"const float[3]","name":"mins","decl":"const float mins[3]","default":null},{"type":"const float[3]","name":"maxs","decl":"const float maxs[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"TraceEntityFilter","name":"filter","decl":"TraceEntityFilter filter","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_TraceHullFilter":{"name":"TR_TraceHullFilter","refLine":222,"docStart":9609,"docEnd":10251,"docs":{"brief":"Starts up a new trace hull using a global trace result and a customized\ntrace ray filter.\n\nCalling TR_Trace*Filter or TR_Trace*FilterEx from inside a filter\nfunction is currently not allowed and may not work.","tags":[{"tag":"","text":"Starts up a new trace hull using a global trace result and a customized\ntrace ray filter.\n\nCalling TR_Trace*Filter or TR_Trace*FilterEx from inside a filter\nfunction is currently not allowed and may not work."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Depending on RayType, it will be used as the ending\npoint, or the direction angle."},{"tag":"param:mins","text":"Hull minimum size."},{"tag":"param:maxs","text":"Hull maximum size."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:filter","text":"Function to use as a filter."},{"tag":"param:data","text":"Arbitrary data value to pass through to the filter\nfunction."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"const float[3]","name":"mins","decl":"const float mins[3]","default":null},{"type":"const float[3]","name":"maxs","decl":"const float maxs[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"TraceEntityFilter","name":"filter","decl":"TraceEntityFilter filter","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_ClipRayToEntity":{"name":"TR_ClipRayToEntity","refLine":303,"docStart":12814,"docEnd":13144,"docs":{"brief":"Clips a ray to a particular entity.","tags":[{"tag":"","text":"Clips a ray to a particular entity."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Depending on RayType, it will be used as the ending\npoint, or the direction angle."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:rtype","text":"Method to calculate the ray direction."},{"tag":"param:entity","text":"Entity to clip to."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"RayType","name":"rtype","decl":"RayType rtype","default":null},{"type":"int","name":"entity","decl":"int entity","default":null}]},"TR_TraceRayEx":{"name":"TR_TraceRayEx","refLine":244,"docStart":10461,"docEnd":10849,"docs":{"brief":"Starts up a new trace ray using a new trace result.","tags":[{"tag":"","text":"Starts up a new trace ray using a new trace result."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Depending on RayType, it will be used as the ending\npoint, or the direction angle."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:rtype","text":"Method to calculate the ray direction."},{"tag":"return","text":"Ray trace handle, which must be closed via CloseHandle()."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"Handle","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"RayType","name":"rtype","decl":"RayType rtype","default":null}]},"TR_GetSurfaceName":{"name":"TR_GetSurfaceName","refLine":572,"docStart":23251,"docEnd":23543,"docs":{"brief":"Returns the name of the surface that was hit.","tags":[{"tag":"","text":"Returns the name of the surface that was hit."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"param:buffer","text":"Buffer to store surface name in"},{"tag":"param:maxlen","text":"Maximum length of output buffer"},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlen","decl":"int maxlen","default":null}]},"TR_GetEntityIndex":{"name":"TR_GetEntityIndex","refLine":338,"docStart":13870,"docEnd":14105,"docs":{"brief":"Returns the entity index that collided with the trace.","tags":[{"tag":"","text":"Returns the entity index that collided with the trace."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Entity index or -1 for no collision."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_GetDisplacementFlags":{"name":"TR_GetDisplacementFlags","refLine":561,"docStart":22937,"docEnd":23182,"docs":{"brief":"Returns the displacement flags for the surface that was hit. See DISPSURF_FLAG_*.","tags":[{"tag":"","text":"Returns the displacement flags for the surface that was hit. See DISPSURF_FLAG_*."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Displacement flags."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_TraceRayFilter":{"name":"TR_TraceRayFilter","refLine":198,"docStart":8787,"docEnd":9412,"docs":{"brief":"Starts up a new trace ray using a global trace result and a customized\ntrace ray filter.\n\nCalling TR_Trace*Filter or TR_Trace*FilterEx from inside a filter\nfunction is currently not allowed and may not work.","tags":[{"tag":"","text":"Starts up a new trace ray using a global trace result and a customized\ntrace ray filter.\n\nCalling TR_Trace*Filter or TR_Trace*FilterEx from inside a filter\nfunction is currently not allowed and may not work."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Depending on RayType, it will be used as the ending\npoint, or the direction angle."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:rtype","text":"Method to calculate the ray direction."},{"tag":"param:filter","text":"Function to use as a filter."},{"tag":"param:data","text":"Arbitrary data value to pass through to the filter\nfunction."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"RayType","name":"rtype","decl":"RayType rtype","default":null},{"type":"TraceEntityFilter","name":"filter","decl":"TraceEntityFilter filter","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_EnumerateEntitiesHull":{"name":"TR_EnumerateEntitiesHull","refLine":290,"docStart":13441,"docEnd":14114,"docs":{"brief":"Enumerates over entities along a ray hull. This may find entities that are\nclose to the ray but do not actually intersect it. Use TR_Clip*RayToEntity\nwith TR_DidHit to check if the ray actually intersects the entity.","tags":[{"tag":"","text":"Enumerates over entities along a ray hull. This may find entities that are\nclose to the ray but do not actually intersect it. Use TR_Clip*RayToEntity\nwith TR_DidHit to check if the ray actually intersects the entity."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Ending position of the ray."},{"tag":"param:mins","text":"Hull minimum size."},{"tag":"param:maxs","text":"Hull maximum size."},{"tag":"param:mask","text":"Mask to use for the trace. See PARTITION_* flags."},{"tag":"param:enumerator","text":"Function to use as enumerator. For each entity found\nalong the ray, this function is called."},{"tag":"param:data","text":"Arbitrary data value to pass through to the enumerator."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"const float[3]","name":"mins","decl":"const float mins[3]","default":null},{"type":"const float[3]","name":"maxs","decl":"const float maxs[3]","default":null},{"type":"int","name":"mask","decl":"int mask","default":null},{"type":"TraceEntityEnumerator","name":"enumerator","decl":"TraceEntityEnumerator enumerator","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_ClipRayHullToEntity":{"name":"TR_ClipRayHullToEntity","refLine":319,"docStart":13295,"docEnd":13582,"docs":{"brief":"Clips a ray hull to a particular entity.","tags":[{"tag":"","text":"Clips a ray hull to a particular entity."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Ending position of the ray."},{"tag":"param:mins","text":"Hull minimum size."},{"tag":"param:maxs","text":"Hull maximum size."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:entity","text":"Entity to clip to."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"const float[3]","name":"mins","decl":"const float mins[3]","default":null},{"type":"const float[3]","name":"maxs","decl":"const float maxs[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"int","name":"entity","decl":"int entity","default":null}]},"TR_ClipCurrentRayToEntityEx":{"name":"TR_ClipCurrentRayToEntityEx","refLine":454,"docStart":17909,"docEnd":18128,"docs":{"brief":"Clips the current global ray (or hull) to a particular entity.","tags":[{"tag":"","text":"Clips the current global ray (or hull) to a particular entity."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:entity","text":"Entity to clip to."},{"tag":"return","text":"Ray trace handle, which must be closed via CloseHandle()."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"kind":"native","returnType":"Handle","arguments":[{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"int","name":"entity","decl":"int entity","default":null}]},"TR_ClipCurrentRayToEntity":{"name":"TR_ClipCurrentRayToEntity","refLine":332,"docStart":13788,"docEnd":13935,"docs":{"brief":"Clips the current global ray (or hull) to a particular entity.","tags":[{"tag":"","text":"Clips the current global ray (or hull) to a particular entity."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:entity","text":"Entity to clip to."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"int","name":"entity","decl":"int entity","default":null}]},"TR_EnumerateEntities":{"name":"TR_EnumerateEntities","refLine":269,"docStart":12530,"docEnd":13246,"docs":{"brief":"Enumerates over entities along a ray. This may find entities that are\nclose to the ray but do not actually intersect it. Use TR_Clip*RayToEntity\nwith TR_DidHit to check if the ray actually intersects the entity.","tags":[{"tag":"","text":"Enumerates over entities along a ray. This may find entities that are\nclose to the ray but do not actually intersect it. Use TR_Clip*RayToEntity\nwith TR_DidHit to check if the ray actually intersects the entity."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Depending on RayType, it will be used as the ending\npoint, or the direction angle."},{"tag":"param:mask","text":"Mask to use for the trace. See PARTITION_* flags."},{"tag":"param:rtype","text":"Method to calculate the ray direction."},{"tag":"param:enumerator","text":"Function to use as enumerator. For each entity found\nalong the ray, this function is called."},{"tag":"param:data","text":"Arbitrary data value to pass through to the enumerator."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"mask","decl":"int mask","default":null},{"type":"RayType","name":"rtype","decl":"RayType rtype","default":null},{"type":"TraceEntityEnumerator","name":"enumerator","decl":"TraceEntityEnumerator enumerator","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_EnumerateEntitiesBox":{"name":"TR_EnumerateEntitiesBox","refLine":324,"docStart":15869,"docEnd":16305,"docs":{"brief":"Enumerates over entities in a box.","tags":[{"tag":"","text":"Enumerates over entities in a box."},{"tag":"param:mins","text":"Box minimum size."},{"tag":"param:maxs","text":"Box maximum size."},{"tag":"param:mask","text":"Mask to use for the trace. See PARTITION_* flags."},{"tag":"param:enumerator","text":"Function to use as enumerator. For each entity found\nalong the box, this function is called."},{"tag":"param:data","text":"Arbitrary data value to pass through to the enumerator."}]},"metadata":{"created":{"hash":"bcd5e408425b7a18fe1891531118c3288e170611","count":6508,"time":1582762795},"last_updated":{"hash":"bcd5e408425b7a18fe1891531118c3288e170611","count":6508,"time":1582762795}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"mins","decl":"const float mins[3]","default":null},{"type":"const float[3]","name":"maxs","decl":"const float maxs[3]","default":null},{"type":"int","name":"mask","decl":"int mask","default":null},{"type":"TraceEntityEnumerator","name":"enumerator","decl":"TraceEntityEnumerator enumerator","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_GetPhysicsBone":{"name":"TR_GetPhysicsBone","refLine":599,"docStart":24168,"docEnd":24383,"docs":{"brief":"Returns the index of the physics bone that was hit.","tags":[{"tag":"","text":"Returns the index of the physics bone that was hit."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Physics bone index."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_AllSolid":{"name":"TR_AllSolid","refLine":608,"docStart":24446,"docEnd":24702,"docs":{"brief":"Returns whether the entire trace was in a solid area.","tags":[{"tag":"","text":"Returns whether the entire trace was in a solid area."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"True if entire trace was in a solid area, otherwise false."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_DidHit":{"name":"TR_DidHit","refLine":347,"docStart":14164,"docEnd":14417,"docs":{"brief":"Returns if there was any kind of collision along the trace ray.","tags":[{"tag":"","text":"Returns if there was any kind of collision along the trace ray."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"True if any collision found, otherwise false."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_GetHitBoxIndex":{"name":"TR_GetHitBoxIndex","refLine":646,"docStart":28496,"docEnd":28914,"docs":{"brief":"Returns in which hitbox the trace collided if any.\n\nNote: if the entity that collided with the trace is the world entity,\nthen this function doesn't return an hitbox index but a static prop index.","tags":[{"tag":"","text":"Returns in which hitbox the trace collided if any.\n\nNote: if the entity that collided with the trace is the world entity,\nthen this function doesn't return an hitbox index but a static prop index."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"Hitbox index (Or static prop index)."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"e02e6bcb4fa1f157b7bc32514ce203e5f5076720","count":6444,"time":1568751876},"last_updated":{"hash":"e02e6bcb4fa1f157b7bc32514ce203e5f5076720","count":6444,"time":1568751876}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_GetEndPosition":{"name":"TR_GetEndPosition","refLine":324,"docStart":13596,"docEnd":13823,"docs":{"brief":"Returns the collision position of a trace result.","tags":[{"tag":"","text":"Returns the collision position of a trace result."},{"tag":"param:pos","text":"Vector buffer to store data in."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"float[3]","name":"pos","decl":"float pos[3]","default":null},{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_EnumerateEntitiesPoint":{"name":"TR_EnumerateEntitiesPoint","refLine":339,"docStart":16601,"docEnd":17001,"docs":{"brief":"Enumerates over entities at point.","tags":[{"tag":"","text":"Enumerates over entities at point."},{"tag":"param:pos","text":"Position of the point."},{"tag":"param:mask","text":"Mask to use for the trace. See PARTITION_* flags."},{"tag":"param:enumerator","text":"Function to use as enumerator. For each entity found\nalong the point, this function is called."},{"tag":"param:data","text":"Arbitrary data value to pass through to the enumerator."}]},"metadata":{"created":{"hash":"bcd5e408425b7a18fe1891531118c3288e170611","count":6508,"time":1582762795},"last_updated":{"hash":"bcd5e408425b7a18fe1891531118c3288e170611","count":6508,"time":1582762795}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"int","name":"mask","decl":"int mask","default":null},{"type":"TraceEntityEnumerator","name":"enumerator","decl":"TraceEntityEnumerator enumerator","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_EnumerateEntitiesSphere":{"name":"TR_EnumerateEntitiesSphere","refLine":308,"docStart":15098,"docEnd":15550,"docs":{"brief":"Enumerates over entities in a sphere.","tags":[{"tag":"","text":"Enumerates over entities in a sphere."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:radius","text":"Radius of the ray."},{"tag":"param:mask","text":"Mask to use for the trace. See PARTITION_* flags."},{"tag":"param:enumerator","text":"Function to use as enumerator. For each entity found\nalong the ray, this function is called."},{"tag":"param:data","text":"Arbitrary data value to pass through to the enumerator."}]},"metadata":{"created":{"hash":"bcd5e408425b7a18fe1891531118c3288e170611","count":6508,"time":1582762795},"last_updated":{"hash":"bcd5e408425b7a18fe1891531118c3288e170611","count":6508,"time":1582762795}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"float","name":"radius","decl":"float radius","default":null},{"type":"int","name":"mask","decl":"int mask","default":null},{"type":"TraceEntityEnumerator","name":"enumerator","decl":"TraceEntityEnumerator enumerator","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"TR_StartSolid":{"name":"TR_StartSolid","refLine":617,"docStart":24760,"docEnd":25018,"docs":{"brief":"Returns whether the initial point was in a solid area.","tags":[{"tag":"","text":"Returns whether the initial point was in a solid area."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"return","text":"True if initial point was in a solid area, otherwise false."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"TR_GetPlaneNormal":{"name":"TR_GetPlaneNormal","refLine":360,"docStart":14786,"docEnd":15051,"docs":{"brief":"Find the normal vector to the collision plane of a trace.","tags":[{"tag":"","text":"Find the normal vector to the collision plane of a trace."},{"tag":"param:hndl","text":"A trace Handle, or INVALID_HANDLE to use a global trace result."},{"tag":"param:normal","text":"Vector buffer to store the vector normal to the collision plane"},{"tag":"error","text":"Invalid Handle"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":null},{"type":"float[3]","name":"normal","decl":"float normal[3]","default":null}]},"TR_TraceRay":{"name":"TR_TraceRay","refLine":162,"docStart":7920,"docEnd":8237,"docs":{"brief":"Starts up a new trace ray using a global trace result.","tags":[{"tag":"","text":"Starts up a new trace ray using a global trace result."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Depending on RayType, it will be used as the\nending point, or the direction angle."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:rtype","text":"Method to calculate the ray direction."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"RayType","name":"rtype","decl":"RayType rtype","default":null}]},"TR_ClipRayHullToEntityEx":{"name":"TR_ClipRayHullToEntityEx","refLine":440,"docStart":17335,"docEnd":17694,"docs":{"brief":"Clips a ray hull to a particular entity.","tags":[{"tag":"","text":"Clips a ray hull to a particular entity."},{"tag":"param:pos","text":"Starting position of the ray."},{"tag":"param:vec","text":"Ending position of the ray."},{"tag":"param:mins","text":"Hull minimum size."},{"tag":"param:maxs","text":"Hull maximum size."},{"tag":"param:flags","text":"Trace flags."},{"tag":"param:entity","text":"Entity to clip to."},{"tag":"return","text":"Ray trace handle, which must be closed via CloseHandle()."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"kind":"native","returnType":"Handle","arguments":[{"type":"const float[3]","name":"pos","decl":"const float pos[3]","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"const float[3]","name":"mins","decl":"const float mins[3]","default":null},{"type":"const float[3]","name":"maxs","decl":"const float maxs[3]","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"int","name":"entity","decl":"int entity","default":null}]},"TR_PointOutsideWorld":{"name":"TR_PointOutsideWorld","refLine":368,"docStart":15117,"docEnd":15289,"docs":{"brief":"Tests a point to see if it's outside any playable area","tags":[{"tag":"","text":"Tests a point to see if it's outside any playable area"},{"tag":"param:pos","text":"Vector buffer to store data in."},{"tag":"return","text":"True if outside world, otherwise false."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"bool","arguments":[{"type":"float[3]","name":"pos","decl":"float pos[3]","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"CONTENTS_TRANSLUCENT":{"name":"CONTENTS_TRANSLUCENT","refLine":78,"docStart":3671,"docEnd":3713,"docs":{"brief":"auto set if any surface has trans.","tags":[{"tag":"","text":"auto set if any surface has trans."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x10000000"},"MASK_PLAYERSOLID_BRUSHONLY":{"name":"MASK_PLAYERSOLID_BRUSHONLY","refLine":98,"docStart":5926,"docEnd":6015,"docs":{"brief":"everything normally solid for player movement, except monsters (world+brush only)","tags":[{"tag":"","text":"everything normally solid for player movement, except monsters (world+brush only)"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_WINDOW|CONTENTS_PLAYERCLIP|CONTENTS_GRATE)"},"LAST_VISIBLE_CONTENTS":{"name":"LAST_VISIBLE_CONTENTS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x80"},"CONTENTS_SLIME":{"name":"CONTENTS_SLIME","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x10"},"CONTENTS_CURRENT_UP":{"name":"CONTENTS_CURRENT_UP","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x400000"},"SURF_WARP":{"name":"SURF_WARP","refLine":114,"docStart":7958,"docEnd":7986,"docs":{"brief":"turbulent water warp","tags":[{"tag":"","text":"turbulent water warp"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0008"},"MASK_PLAYERSOLID":{"name":"MASK_PLAYERSOLID","refLine":87,"docStart":4184,"docEnd":4230,"docs":{"brief":"everything that blocks player movement","tags":[{"tag":"","text":"everything that blocks player movement"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER|CONTENTS_GRATE)"},"MASK_SHOT":{"name":"MASK_SHOT","refLine":94,"docStart":5250,"docEnd":5284,"docs":{"brief":"bullets see these as solid","tags":[{"tag":"","text":"bullets see these as solid"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_MONSTER|CONTENTS_WINDOW|CONTENTS_DEBRIS|CONTENTS_HITBOX)"},"MASK_SOLID_BRUSHONLY":{"name":"MASK_SOLID_BRUSHONLY","refLine":97,"docStart":5731,"docEnd":5800,"docs":{"brief":"everything normally solid, except monsters (world+brush only)","tags":[{"tag":"","text":"everything normally solid, except monsters (world+brush only)"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_WINDOW|CONTENTS_GRATE)"},"CONTENTS_WATER":{"name":"CONTENTS_WATER","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x20"},"CONTENTS_TEAM2":{"name":"CONTENTS_TEAM2","refLine":53,"docStart":2545,"docEnd":2600,"docs":{"brief":"between players and objects on different teams.","tags":[{"tag":"","text":"between players and objects on different teams."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x1000"},"SURF_SKIP":{"name":"SURF_SKIP","refLine":122,"docStart":8450,"docEnd":8504,"docs":{"brief":"completely ignore, allowing non-closed brushes","tags":[{"tag":"","text":"completely ignore, allowing non-closed brushes"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0200"},"CONTENTS_CURRENT_DOWN":{"name":"CONTENTS_CURRENT_DOWN","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x800000"},"SURF_NOCHOP":{"name":"SURF_NOCHOP","refLine":127,"docStart":8850,"docEnd":8897,"docs":{"brief":"Don't subdivide patches on this surface","tags":[{"tag":"","text":"Don't subdivide patches on this surface"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x4000"},"SURF_NOLIGHT":{"name":"SURF_NOLIGHT","refLine":123,"docStart":8543,"docEnd":8572,"docs":{"brief":"Don't calculate light","tags":[{"tag":"","text":"Don't calculate light"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0400"},"MASK_OPAQUE_AND_NPCS":{"name":"MASK_OPAQUE_AND_NPCS","refLine":91,"docStart":4727,"docEnd":4819,"docs":{"brief":"everything that blocks line of sight for AI, lighting, etc, but with monsters added.","tags":[{"tag":"","text":"everything that blocks line of sight for AI, lighting, etc, but with monsters added."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(MASK_OPAQUE|CONTENTS_MONSTER)"},"SURF_HINT":{"name":"SURF_HINT","refLine":120,"docStart":8374,"docEnd":8409,"docs":{"brief":"make a primary bsp splitter","tags":[{"tag":"","text":"make a primary bsp splitter"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0100"},"CONTENTS_SOLID":{"name":"CONTENTS_SOLID","refLine":39,"docStart":1734,"docEnd":1776,"docs":{"brief":"an eye is never valid in a solid .","tags":[{"tag":"","text":"an eye is never valid in a solid ."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x1"},"DISPSURF_FLAG_WALKABLE":{"name":"DISPSURF_FLAG_WALKABLE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1<<1)"},"CONTENTS_ORIGIN":{"name":"CONTENTS_ORIGIN","refLine":74,"docStart":3383,"docEnd":3423,"docs":{"brief":"removed before bsping an entity.","tags":[{"tag":"","text":"removed before bsping an entity."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x1000000"},"MASK_SHOT_HULL":{"name":"MASK_SHOT_HULL","refLine":95,"docStart":5411,"docEnd":5476,"docs":{"brief":"non-raycasted weapons see this as solid (includes grates)","tags":[{"tag":"","text":"non-raycasted weapons see this as solid (includes grates)"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_MONSTER|CONTENTS_WINDOW|CONTENTS_DEBRIS|CONTENTS_GRATE)"},"MASK_SHOT_PORTAL":{"name":"MASK_SHOT_PORTAL","refLine":96,"docStart":5562,"docEnd":5629,"docs":{"brief":"hits solids (not grates) and passes through everything else","tags":[{"tag":"","text":"hits solids (not grates) and passes through everything else"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_WINDOW)"},"DISPSURF_FLAG_BUILDABLE":{"name":"DISPSURF_FLAG_BUILDABLE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1<<2)"},"SURF_NODECALS":{"name":"SURF_NODECALS","refLine":126,"docStart":8783,"docEnd":8811,"docs":{"brief":"Don't receive decals","tags":[{"tag":"","text":"Don't receive decals"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x2000"},"CONTENTS_LADDER":{"name":"CONTENTS_LADDER","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x20000000"},"DISPSURF_FLAG_SURFACE":{"name":"DISPSURF_FLAG_SURFACE","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1<<0)"},"PARTITION_STATIC_PROPS":{"name":"PARTITION_STATIC_PROPS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1 << 7)"},"DISPSURF_FLAG_SURFPROP1":{"name":"DISPSURF_FLAG_SURFPROP1","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1<<3)"},"CONTENTS_TEAM1":{"name":"CONTENTS_TEAM1","refLine":52,"docStart":2451,"docEnd":2510,"docs":{"brief":"per team contents used to differentiate collisions.","tags":[{"tag":"","text":"per team contents used to differentiate collisions."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x800"},"CONTENTS_UNUSED5":{"name":"CONTENTS_UNUSED5","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x200"},"SURF_HITBOX":{"name":"SURF_HITBOX","refLine":128,"docStart":8936,"docEnd":8971,"docs":{"brief":"surface is part of a hitbox","tags":[{"tag":"","text":"surface is part of a hitbox"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x8000"},"SURF_LIGHT":{"name":"SURF_LIGHT","refLine":111,"docStart":7673,"docEnd":7715,"docs":{"brief":"value will hold the light strength","tags":[{"tag":"","text":"value will hold the light strength"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0001"},"SURF_TRANS":{"name":"SURF_TRANS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0010"},"SURF_TRIGGER":{"name":"SURF_TRIGGER","refLine":117,"docStart":8151,"docEnd":8250,"docs":{"brief":"This is an xbox hack to work around elimination of trigger surfaces, which breaks occluders","tags":[{"tag":"","text":"This is an xbox hack to work around elimination of trigger surfaces, which breaks occluders"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0040"},"SURF_NODRAW":{"name":"SURF_NODRAW","refLine":118,"docStart":8289,"docEnd":8333,"docs":{"brief":"don't bother referencing the texture","tags":[{"tag":"","text":"don't bother referencing the texture"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0080"},"CONTENTS_OPAQUE":{"name":"CONTENTS_OPAQUE","refLine":46,"docStart":2124,"docEnd":2193,"docs":{"brief":"things that cannot be seen through (may be non-solid though).","tags":[{"tag":"","text":"things that cannot be seen through (may be non-solid though)."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x80"},"MASK_SOLID":{"name":"MASK_SOLID","refLine":86,"docStart":4011,"docEnd":4052,"docs":{"brief":"everything that is normally solid","tags":[{"tag":"","text":"everything that is normally solid"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_WINDOW|CONTENTS_MONSTER|CONTENTS_GRATE)"},"MASK_OPAQUE":{"name":"MASK_OPAQUE","refLine":90,"docStart":4590,"docEnd":4656,"docs":{"brief":"everything that blocks line of sight for AI, lighting, etc","tags":[{"tag":"","text":"everything that blocks line of sight for AI, lighting, etc"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_OPAQUE)"},"CONTENTS_WINDOW":{"name":"CONTENTS_WINDOW","refLine":40,"docStart":1809,"docEnd":1853,"docs":{"brief":"translucent, but not watery (glass).","tags":[{"tag":"","text":"translucent, but not watery (glass)."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x2"},"SURF_NOSHADOWS":{"name":"SURF_NOSHADOWS","refLine":125,"docStart":8715,"docEnd":8744,"docs":{"brief":"Don't receive shadows","tags":[{"tag":"","text":"Don't receive shadows"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x1000"},"CONTENTS_MOVEABLE":{"name":"CONTENTS_MOVEABLE","refLine":55,"docStart":2750,"docEnd":2815,"docs":{"brief":"hits entities which are MOVETYPE_PUSH (doors, plats, etc)","tags":[{"tag":"","text":"hits entities which are MOVETYPE_PUSH (doors, plats, etc)"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x4000"},"CONTENTS_MIST":{"name":"CONTENTS_MIST","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x40"},"CONTENTS_HITBOX":{"name":"CONTENTS_HITBOX","refLine":80,"docStart":3790,"docEnd":3829,"docs":{"brief":"use accurate hitboxes on trace.","tags":[{"tag":"","text":"use accurate hitboxes on trace."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x40000000"},"MASK_ALL":{"name":"MASK_ALL","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(0xFFFFFFFF)"},"CONTENTS_MONSTER":{"name":"CONTENTS_MONSTER","refLine":75,"docStart":3461,"docEnd":3510,"docs":{"brief":"should never be on a brush, only in game.","tags":[{"tag":"","text":"should never be on a brush, only in game."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x2000000"},"PARTITION_NON_STATIC_EDICTS":{"name":"PARTITION_NON_STATIC_EDICTS","refLine":140,"docStart":9313,"docEnd":9395,"docs":{"brief":"everything in solid & trigger except the static props, includes SOLID_NOTs","tags":[{"tag":"","text":"everything in solid & trigger except the static props, includes SOLID_NOTs"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1 << 5)"},"CONTENTS_CURRENT_270":{"name":"CONTENTS_CURRENT_270","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x200000"},"MASK_WATER":{"name":"MASK_WATER","refLine":89,"docStart":4468,"docEnd":4507,"docs":{"brief":"water physics in these contents","tags":[{"tag":"","text":"water physics in these contents"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_WATER|CONTENTS_MOVEABLE|CONTENTS_SLIME)"},"SURF_SKY":{"name":"SURF_SKY","refLine":113,"docStart":7882,"docEnd":7919,"docs":{"brief":"don't draw, but add to skybox","tags":[{"tag":"","text":"don't draw, but add to skybox"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0004"},"SURF_BUMPLIGHT":{"name":"SURF_BUMPLIGHT","refLine":124,"docStart":8611,"docEnd":8676,"docs":{"brief":"calculate three lightmaps for the surface for bumpmapping","tags":[{"tag":"","text":"calculate three lightmaps for the surface for bumpmapping"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0800"},"CONTENTS_UNUSED6":{"name":"CONTENTS_UNUSED6","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x4000"},"PARTITION_TRIGGER_EDICTS":{"name":"PARTITION_TRIGGER_EDICTS","refLine":139,"docStart":9221,"docEnd":9264,"docs":{"brief":"every edict_t that IS SOLID_TRIGGER","tags":[{"tag":"","text":"every edict_t that IS SOLID_TRIGGER"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1 << 2)"},"MASK_VISIBLE":{"name":"MASK_VISIBLE","refLine":92,"docStart":4896,"docEnd":4952,"docs":{"brief":"everything that blocks line of sight for players","tags":[{"tag":"","text":"everything that blocks line of sight for players"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(MASK_OPAQUE|CONTENTS_IGNORE_NODRAW_OPAQUE)"},"CONTENTS_AREAPORTAL":{"name":"CONTENTS_AREAPORTAL","refLine":56,"docStart":2854,"docEnd":2920,"docs":{"brief":"remaining contents are non-visible, and don't eat brushes.","tags":[{"tag":"","text":"remaining contents are non-visible, and don't eat brushes."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x8000"},"MASK_NPCSOLID_BRUSHONLY":{"name":"MASK_NPCSOLID_BRUSHONLY","refLine":99,"docStart":6139,"docEnd":6225,"docs":{"brief":"everything normally solid for npc movement, except monsters (world+brush only)","tags":[{"tag":"","text":"everything normally solid for npc movement, except monsters (world+brush only)"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_WINDOW|CONTENTS_MONSTERCLIP|CONTENTS_GRATE)"},"PARTITION_SOLID_EDICTS":{"name":"PARTITION_SOLID_EDICTS","refLine":138,"docStart":9094,"docEnd":9172,"docs":{"brief":"every edict_t that isn't SOLID_TRIGGER or SOLID_NOT (and static props)","tags":[{"tag":"","text":"every edict_t that isn't SOLID_TRIGGER or SOLID_NOT (and static props)"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1 << 1)"},"MASK_SPLITAREAPORTAL":{"name":"MASK_SPLITAREAPORTAL","refLine":101,"docStart":6451,"docEnd":6502,"docs":{"brief":"These are things that can split areaportals","tags":[{"tag":"","text":"These are things that can split areaportals"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_WATER|CONTENTS_SLIME)"},"_sdktools_trace_included":{"name":"_sdktools_trace_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":""},"CONTENTS_EMPTY":{"name":"CONTENTS_EMPTY","refLine":38,"docStart":1682,"docEnd":1702,"docs":{"brief":"No contents.","tags":[{"tag":"","text":"No contents."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0"},"CONTENTS_DETAIL":{"name":"CONTENTS_DETAIL","refLine":77,"docStart":3585,"docEnd":3629,"docs":{"brief":"brushes to be added after vis leafs.","tags":[{"tag":"","text":"brushes to be added after vis leafs."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x8000000"},"SURF_NOPORTAL":{"name":"SURF_NOPORTAL","refLine":116,"docStart":8058,"docEnd":8112,"docs":{"brief":"the surface can not have a portal placed on it","tags":[{"tag":"","text":"the surface can not have a portal placed on it"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0020"},"CONTENTS_CURRENT_90":{"name":"CONTENTS_CURRENT_90","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x80000"},"ALL_VISIBLE_CONTENTS":{"name":"ALL_VISIBLE_CONTENTS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(LAST_VISIBLE_CONTENTS | (LAST_VISIBLE_CONTENTS-1))"},"CONTENTS_DEBRIS":{"name":"CONTENTS_DEBRIS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x4000000"},"DISPSURF_FLAG_SURFPROP2":{"name":"DISPSURF_FLAG_SURFPROP2","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"(1<<4)"},"CONTENTS_GRATE":{"name":"CONTENTS_GRATE","refLine":42,"docStart":1913,"docEnd":1998,"docs":{"brief":"alpha-tested \"grate\" textures. Bullets/sight pass through, but solids don't.","tags":[{"tag":"","text":"alpha-tested \"grate\" textures. Bullets/sight pass through, but solids don't."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x8"},"CONTENTS_IGNORE_NODRAW_OPAQUE":{"name":"CONTENTS_IGNORE_NODRAW_OPAQUE","refLine":54,"docStart":2648,"docEnd":2713,"docs":{"brief":"ignore CONTENTS_OPAQUE on surfaces that have SURF_NODRAW.","tags":[{"tag":"","text":"ignore CONTENTS_OPAQUE on surfaces that have SURF_NODRAW."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x2000"},"CONTENTS_CURRENT_180":{"name":"CONTENTS_CURRENT_180","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x100000"},"SURF_SKY2D":{"name":"SURF_SKY2D","refLine":112,"docStart":7754,"docEnd":7843,"docs":{"brief":"don't draw, indicates we should skylight + draw 2d sky but not draw the 3D skybox","tags":[{"tag":"","text":"don't draw, indicates we should skylight + draw 2d sky but not draw the 3D skybox"}]},"metadata":{"created":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954},"last_updated":{"hash":"3add38f66581982a74c72702fd44b9b0480ff5df","count":6343,"time":1538946954}},"value":"0x0002"},"MASK_NPCWORLDSTATIC":{"name":"MASK_NPCWORLDSTATIC","refLine":100,"docStart":6330,"docEnd":6379,"docs":{"brief":"just the world, used for route rebuilding","tags":[{"tag":"","text":"just the world, used for route rebuilding"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_WINDOW|CONTENTS_MONSTERCLIP|CONTENTS_GRATE)"},"CONTENTS_MONSTERCLIP":{"name":"CONTENTS_MONSTERCLIP","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x20000"},"CONTENTS_PLAYERCLIP":{"name":"CONTENTS_PLAYERCLIP","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x10000"},"CONTENTS_CURRENT_0":{"name":"CONTENTS_CURRENT_0","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x40000"},"CONTENTS_TESTFOGVOLUME":{"name":"CONTENTS_TESTFOGVOLUME","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x100"},"MASK_VISIBLE_AND_NPCS":{"name":"MASK_VISIBLE_AND_NPCS","refLine":93,"docStart":5044,"docEnd":5126,"docs":{"brief":"everything that blocks line of sight for players, but with monsters added.","tags":[{"tag":"","text":"everything that blocks line of sight for players, but with monsters added."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(MASK_OPAQUE_AND_NPCS|CONTENTS_IGNORE_NODRAW_OPAQUE)"},"MASK_NPCSOLID":{"name":"MASK_NPCSOLID","refLine":88,"docStart":4360,"docEnd":4387,"docs":{"brief":"blocks npc movement","tags":[{"tag":"","text":"blocks npc movement"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(CONTENTS_SOLID|CONTENTS_MOVEABLE|CONTENTS_MONSTERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER|CONTENTS_GRATE)"},"CONTENTS_AUX":{"name":"CONTENTS_AUX","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"0x4"}},"enums":{"RayType":{"name":"RayType","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"entries":{"RayType_EndPoint":{"name":"RayType_EndPoint","refLine":109,"docStart":6570,"docEnd":6644,"docs":{"brief":"The trace ray will go from the start position to the end position.","tags":[{"tag":"","text":"The trace ray will go from the start position to the end position."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":null},"RayType_Infinite":{"name":"RayType_Infinite","refLine":110,"docStart":6664,"docEnd":6755,"docs":{"brief":"The trace ray will go from the start position to infinity using a direction vector.","tags":[{"tag":"","text":"The trace ray will go from the start position to infinity using a direction vector."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":null}}}},"typesets":{"TraceEntityFilter":{"name":"TraceEntityFilter","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"types":{"function bool(int entity, int contentsMask)":{"refLine":122,"docStart":6794,"docEnd":6995,"docs":{"brief":"Called on entity filtering.","tags":[{"tag":"","text":"Called on entity filtering."},{"tag":"param:entity","text":"Entity index."},{"tag":"param:contentsMask","text":"Contents Mask."},{"tag":"return","text":"True to allow the current entity to be hit, otherwise false."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"type":"function bool(int entity, int contentsMask)","parsedSignature":{"returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"contentsMask","decl":"int contentsMask","default":null}]}},"function bool(int entity, int contentsMask, any data)":{"refLine":132,"docStart":7049,"docEnd":7291,"docs":{"brief":"Called on entity filtering.","tags":[{"tag":"","text":"Called on entity filtering."},{"tag":"param:entity","text":"Entity index."},{"tag":"param:contentsMask","text":"Contents Mask."},{"tag":"param:data","text":"Data value, if used."},{"tag":"return","text":"True to allow the current entity to be hit, otherwise false."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"type":"function bool(int entity, int contentsMask, any data)","parsedSignature":{"returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"contentsMask","decl":"int contentsMask","default":null},{"type":"any","name":"data","decl":"any data","default":null}]}}}},"TraceEntityEnumerator":{"name":"TraceEntityEnumerator","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"types":{"function bool(int entity)":{"refLine":143,"docStart":7384,"docEnd":7559,"docs":{"brief":"Called for each entity enumerated with EnumerateEntities*.","tags":[{"tag":"","text":"Called for each entity enumerated with EnumerateEntities*."},{"tag":"param:entity","text":"Entity index."},{"tag":"return","text":"True to continue enumerating, otherwise false."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"type":"function bool(int entity)","parsedSignature":{"returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]}},"function bool(int entity, any data)":{"refLine":151,"docStart":7594,"docEnd":7807,"docs":{"brief":"Called for each entity enumerated with EnumerateEntities*.","tags":[{"tag":"","text":"Called for each entity enumerated with EnumerateEntities*."},{"tag":"param:entity","text":"Entity index."},{"tag":"param:data","text":"Data value, if used."},{"tag":"return","text":"True to continue enumerating, otherwise false."}]},"metadata":{"created":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732},"last_updated":{"hash":"144fb907f1f636ef80019d2fa3c132f09d6d7719","count":6326,"time":1534197732}},"type":"function bool(int entity, any data)","parsedSignature":{"returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"any","name":"data","decl":"any data","default":null}]}}}}},"typedefs":{}},"sdktools_engine":{"functions":{"SetClientViewEntity":{"name":"SetClientViewEntity","refLine":48,"docStart":1689,"docEnd":1899,"docs":{"brief":"Sets a client's \"viewing entity.\"","tags":[{"tag":"","text":"Sets a client's \"viewing entity.\""},{"tag":"param:client","text":"Client index."},{"tag":"param:entity","text":"Entity index."},{"tag":"error","text":"Invalid client or entity, lack of mod support, or client not in\ngame."}]},"metadata":{"created":{"hash":"ee05ac6cfbf41bbd7b31a8505938641ee6bcebc0","count":1107,"time":1184376601},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"entity","decl":"int entity","default":null}]},"SetLightStyle":{"name":"SetLightStyle","refLine":57,"docStart":1961,"docEnd":2179,"docs":{"brief":"Sets a light style.","tags":[{"tag":"","text":"Sets a light style."},{"tag":"param:style","text":"Light style (from 0 to MAX_LIGHTSTYLES-1)"},{"tag":"param:value","text":"Light value string (see world.cpp/light.cpp in dlls)"},{"tag":"error","text":"Light style index is out of range."}]},"metadata":{"created":{"hash":"4527682421e3c9cfeb36961099abca58187a5682","count":1153,"time":1185227482},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"style","decl":"int style","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"GetClientEyePosition":{"name":"GetClientEyePosition","refLine":66,"docStart":2242,"docEnd":2475,"docs":{"brief":"Returns the client's eye position.","tags":[{"tag":"","text":"Returns the client's eye position."},{"tag":"param:client","text":"Player's index."},{"tag":"param:pos","text":"Destination vector to store the client's eye position."},{"tag":"error","text":"Invalid client index, client not in game, or no mod support."}]},"metadata":{"created":{"hash":"d05a57fcba7ed445570d42e1a090f37fde82aba5","count":1220,"time":1185847705},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"float[3]","name":"pos","decl":"float pos[3]","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_engine_included":{"name":"_sdktools_engine_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"ee05ac6cfbf41bbd7b31a8505938641ee6bcebc0","count":1107,"time":1184376601},"last_updated":{"hash":"ee05ac6cfbf41bbd7b31a8505938641ee6bcebc0","count":1107,"time":1184376601}},"value":""},"MAX_LIGHTSTYLES":{"name":"MAX_LIGHTSTYLES","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"4527682421e3c9cfeb36961099abca58187a5682","count":1153,"time":1185227482},"last_updated":{"hash":"4527682421e3c9cfeb36961099abca58187a5682","count":1153,"time":1185227482}},"value":"64"}},"enums":{},"typesets":{},"typedefs":{}},"sdktools_entoutput":{"functions":{"HookSingleEntityOutput":{"name":"HookSingleEntityOutput","refLine":84,"docStart":3074,"docEnd":3428,"docs":{"brief":"Add an entity output hook on a single entity instance","tags":[{"tag":"","text":"Add an entity output hook on a single entity instance"},{"tag":"param:entity","text":"The entity on which to add a hook."},{"tag":"param:output","text":"The output name to hook."},{"tag":"param:callback","text":"An EntityOutput function pointer."},{"tag":"param:once","text":"Only fire this hook once and then remove itself."},{"tag":"error","text":"Entity Outputs disabled or Invalid Entity index."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"output","decl":"const char[] output","default":null},{"type":"EntityOutput","name":"callback","decl":"EntityOutput callback","default":null},{"type":"bool","name":"once","decl":"bool once","default":"false"}]},"UnhookEntityOutput":{"name":"UnhookEntityOutput","refLine":68,"docStart":2416,"docEnd":2707,"docs":{"brief":"Remove an entity output hook.","tags":[{"tag":"","text":"Remove an entity output hook."},{"tag":"param:classname","text":"The classname to hook."},{"tag":"param:output","text":"The output name to hook."},{"tag":"param:callback","text":"An EntityOutput function pointer."},{"tag":"return","text":"True on success, false if no valid hook was found."},{"tag":"error","text":"Entity Outputs disabled."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"classname","decl":"const char[] classname","default":null},{"type":"const char[]","name":"output","decl":"const char[] output","default":null},{"type":"EntityOutput","name":"callback","decl":"EntityOutput callback","default":null}]},"FireEntityOutput":{"name":"FireEntityOutput","refLine":108,"docStart":3982,"docEnd":4420,"docs":{"brief":"Fire a named output on an entity.\n\nAfter completion (successful or not), the current global variant is re-initialized.","tags":[{"tag":"","text":"Fire a named output on an entity.\n\nAfter completion (successful or not), the current global variant is re-initialized."},{"tag":"param:caller","text":"Entity index from where the output is fired."},{"tag":"param:output","text":"Output name."},{"tag":"param:activator","text":"Entity index which initiated the sequence of actions (-1 for a NULL entity)."},{"tag":"param:delay","text":"Delay before firing the output."},{"tag":"error","text":"Invalid entity index or no mod support."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"caller","decl":"int caller","default":null},{"type":"const char[]","name":"output","decl":"const char[] output","default":null},{"type":"int","name":"activator","decl":"int activator","default":"-1"},{"type":"float","name":"delay","decl":"float delay","default":"0.000000"}]},"HookEntityOutput":{"name":"HookEntityOutput","refLine":63,"docStart":2328,"docEnd":2575,"docs":{"brief":"Add an entity output hook on a entity classname","tags":[{"tag":"","text":"Add an entity output hook on a entity classname"},{"tag":"param:classname","text":"The classname to hook."},{"tag":"param:output","text":"The output name to hook."},{"tag":"param:callback","text":"An EntityOutput function pointer."},{"tag":"error","text":"Entity Outputs disabled."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"classname","decl":"const char[] classname","default":null},{"type":"const char[]","name":"output","decl":"const char[] output","default":null},{"type":"EntityOutput","name":"callback","decl":"EntityOutput callback","default":null}]},"UnhookSingleEntityOutput":{"name":"UnhookSingleEntityOutput","refLine":91,"docStart":3295,"docEnd":3636,"docs":{"brief":"Remove a single entity output hook.","tags":[{"tag":"","text":"Remove a single entity output hook."},{"tag":"param:entity","text":"The entity on which to remove the hook."},{"tag":"param:output","text":"The output name to hook."},{"tag":"param:callback","text":"An EntityOutput function pointer."},{"tag":"return","text":"True on success, false if no valid hook was found."},{"tag":"error","text":"Entity Outputs disabled or Invalid Entity index."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"output","decl":"const char[] output","default":null},{"type":"EntityOutput","name":"callback","decl":"EntityOutput callback","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_entoutput_included":{"name":"_sdktools_entoutput_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":""}},"enums":{},"typesets":{"EntityOutput":{"name":"EntityOutput","refLine":49,"docStart":1663,"docEnd":2135,"docs":{"brief":"Called when an entity output is fired.","tags":[{"tag":"","text":"Called when an entity output is fired."},{"tag":"param:output","text":"Name of the output that fired."},{"tag":"param:caller","text":"Entity index of the caller."},{"tag":"param:activator","text":"Entity index of the activator."},{"tag":"param:delay","text":"Delay in seconds? before the event gets fired."},{"tag":"return","text":"Anything other than Plugin_Continue will supress this event,\nreturning Plugin_Continue will allow it to propagate the results\nof this output to any entity inputs."}]},"metadata":{"created":{"hash":"4cba1925fda346a167f1e20742613cd8a1dad7a1","count":5823,"time":1451494317},"last_updated":{"hash":"4cba1925fda346a167f1e20742613cd8a1dad7a1","count":5823,"time":1451494317}},"types":{"function void(const char[] output, int caller, int activator, float delay)":{"refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"4cba1925fda346a167f1e20742613cd8a1dad7a1","count":5823,"time":1451494317},"last_updated":{"hash":"4cba1925fda346a167f1e20742613cd8a1dad7a1","count":5823,"time":1451494317}},"type":"function void(const char[] output, int caller, int activator, float delay)","parsedSignature":{"returnType":"void","arguments":[{"type":"const char[]","name":"output","decl":"const char[] output","default":null},{"type":"int","name":"caller","decl":"int caller","default":null},{"type":"int","name":"activator","decl":"int activator","default":null},{"type":"float","name":"delay","decl":"float delay","default":null}]}},"function Action(const char[] output, int caller, int activator, float delay)":{"refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"4cba1925fda346a167f1e20742613cd8a1dad7a1","count":5823,"time":1451494317},"last_updated":{"hash":"4cba1925fda346a167f1e20742613cd8a1dad7a1","count":5823,"time":1451494317}},"type":"function Action(const char[] output, int caller, int activator, float delay)","parsedSignature":{"returnType":"Action","arguments":[{"type":"const char[]","name":"output","decl":"const char[] output","default":null},{"type":"int","name":"caller","decl":"int caller","default":null},{"type":"int","name":"activator","decl":"int activator","default":null},{"type":"float","name":"delay","decl":"float delay","default":null}]}}}}},"typedefs":{"EntityOutput":{"name":"EntityOutput","refLine":47,"docStart":1663,"docEnd":1948,"docs":{"brief":"Called when an entity output is fired.","tags":[{"tag":"","text":"Called when an entity output is fired."},{"tag":"param:output","text":"Name of the output that fired."},{"tag":"param:caller","text":"Entity index of the caller."},{"tag":"param:activator","text":"Entity index of the activator."},{"tag":"param:delay","text":"Delay in seconds? before the event gets fired."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"type":"function void(const char[] output, int caller, int activator, float delay)","parsedSignature":{"returnType":"void","arguments":[{"type":"const char[]","name":"output","decl":"const char[] output","default":null},{"type":"int","name":"caller","decl":"int caller","default":null},{"type":"int","name":"activator","decl":"int activator","default":null},{"type":"float","name":"delay","decl":"float delay","default":null}]}}}},"vector":{"functions":{"GetAngleVectors":{"name":"GetAngleVectors","refLine":93,"docStart":3048,"docEnd":3291,"docs":{"brief":"Returns vectors in the direction of an angle.","tags":[{"tag":"","text":"Returns vectors in the direction of an angle."},{"tag":"param:angle","text":"Angle."},{"tag":"param:fwd","text":"Forward vector buffer or NULL_VECTOR."},{"tag":"param:right","text":"Right vector buffer or NULL_VECTOR."},{"tag":"param:up","text":"Up vector buffer or NULL_VECTOR."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"angle","decl":"const float angle[3]","default":null},{"type":"float[3]","name":"fwd","decl":"float fwd[3]","default":null},{"type":"float[3]","name":"right","decl":"float right[3]","default":null},{"type":"float[3]","name":"up","decl":"float up[3]","default":null}]},"SubtractVectors":{"name":"SubtractVectors","refLine":124,"docStart":3333,"docEnd":3588,"docs":{"brief":"Subtracts a vector from another vector. It is safe to use either input\nbuffer as an output buffer.","tags":[{"tag":"","text":"Subtracts a vector from another vector. It is safe to use either input\nbuffer as an output buffer."},{"tag":"param:vec1","text":"First vector."},{"tag":"param:vec2","text":"Second vector to subtract from first."},{"tag":"param:result","text":"Result buffer."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"kind":"stock","returnType":"void","arguments":[{"type":"const float[3]","name":"vec1","decl":"const float vec1[3]","default":null},{"type":"const float[3]","name":"vec2","decl":"const float vec2[3]","default":null},{"type":"float[3]","name":"result","decl":"float result[3]","default":null}]},"MakeVectorFromPoints":{"name":"MakeVectorFromPoints","refLine":166,"docStart":4172,"docEnd":4395,"docs":{"brief":"Builds a vector from two points by subtracting the points.","tags":[{"tag":"","text":"Builds a vector from two points by subtracting the points."},{"tag":"param:pt1","text":"First point (to be subtracted from the second)."},{"tag":"param:pt2","text":"Second point."},{"tag":"param:output","text":"Output vector buffer."}]},"metadata":{"created":{"hash":"78d6d2b6e235ece95b2c4e90937df24534bbdb6f","count":1156,"time":1185229532},"last_updated":{"hash":"78d6d2b6e235ece95b2c4e90937df24534bbdb6f","count":1156,"time":1185229532}},"kind":"stock","returnType":"void","arguments":[{"type":"const float[3]","name":"pt1","decl":"const float pt1[3]","default":null},{"type":"const float[3]","name":"pt2","decl":"const float pt2[3]","default":null},{"type":"float[3]","name":"output","decl":"float output[3]","default":null}]},"GetVectorLength":{"name":"GetVectorLength","refLine":28,"docStart":710,"docEnd":899,"docs":{"brief":"Calculates a vector's length.","tags":[{"tag":"","text":"Calculates a vector's length."},{"tag":"param:vec","text":"Vector."},{"tag":"param:squared","text":"If true, the result will be squared (for optimization)."},{"tag":"return","text":"Vector length (magnitude)."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"kind":"native","returnType":"float","arguments":[{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"bool","name":"squared","decl":"bool squared","default":"false"}]},"GetVectorCrossProduct":{"name":"GetVectorCrossProduct","refLine":74,"docStart":2480,"docEnd":2697,"docs":{"brief":"Computes the cross product of two vectors. Any input array can be the same\nas the output array.","tags":[{"tag":"","text":"Computes the cross product of two vectors. Any input array can be the same\nas the output array."},{"tag":"param:vec1","text":"First vector."},{"tag":"param:vec2","text":"Second vector."},{"tag":"param:result","text":"Resultant vector."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"vec1","decl":"const float vec1[3]","default":null},{"type":"const float[3]","name":"vec2","decl":"const float vec2[3]","default":null},{"type":"float[3]","name":"result","decl":"float result[3]","default":null}]},"NormalizeVector":{"name":"NormalizeVector","refLine":67,"docStart":1877,"docEnd":2057,"docs":{"brief":"Normalizes a vector. The input array can be the same as the output array.","tags":[{"tag":"","text":"Normalizes a vector. The input array can be the same as the output array."},{"tag":"param:vec","text":"Vector."},{"tag":"param:result","text":"Resultant vector."},{"tag":"return","text":"Vector length."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"kind":"native","returnType":"float","arguments":[{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"float[3]","name":"result","decl":"float result[3]","default":null}]},"GetVectorDistance":{"name":"GetVectorDistance","refLine":38,"docStart":974,"docEnd":1204,"docs":{"brief":"Calculates the distance between two vectors.","tags":[{"tag":"","text":"Calculates the distance between two vectors."},{"tag":"param:vec1","text":"First vector."},{"tag":"param:vec2","text":"Second vector."},{"tag":"param:squared","text":"If true, the result will be squared (for optimization)."},{"tag":"return","text":"Vector distance."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"kind":"native","returnType":"float","arguments":[{"type":"const float[3]","name":"vec1","decl":"const float vec1[3]","default":null},{"type":"const float[3]","name":"vec2","decl":"const float vec2[3]","default":null},{"type":"bool","name":"squared","decl":"bool squared","default":"false"}]},"GetVectorAngles":{"name":"GetVectorAngles","refLine":101,"docStart":3390,"docEnd":3492,"docs":{"brief":"Returns angles from a vector.","tags":[{"tag":"","text":"Returns angles from a vector."},{"tag":"param:vec","text":"Vector."},{"tag":"param:angle","text":"Angle buffer."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"float[3]","name":"angle","decl":"float angle[3]","default":null}]},"GetVectorDotProduct":{"name":"GetVectorDotProduct","refLine":47,"docStart":1303,"docEnd":1471,"docs":{"brief":"Calculates the dot product of two vectors.","tags":[{"tag":"","text":"Calculates the dot product of two vectors."},{"tag":"param:vec1","text":"First vector."},{"tag":"param:vec2","text":"Second vector."},{"tag":"return","text":"Dot product of the two vectors."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"kind":"native","returnType":"float","arguments":[{"type":"const float[3]","name":"vec1","decl":"const float vec1[3]","default":null},{"type":"const float[3]","name":"vec2","decl":"const float vec2[3]","default":null}]},"GetVectorVectors":{"name":"GetVectorVectors","refLine":110,"docStart":3562,"docEnd":3745,"docs":{"brief":"Returns direction vectors from a vector.","tags":[{"tag":"","text":"Returns direction vectors from a vector."},{"tag":"param:vec","text":"Vector."},{"tag":"param:right","text":"Right vector buffer or NULL_VECTOR."},{"tag":"param:up","text":"Up vector buffer or NULL_VECTOR."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"float[3]","name":"right","decl":"float right[3]","default":null},{"type":"float[3]","name":"up","decl":"float up[3]","default":null}]},"AddVectors":{"name":"AddVectors","refLine":108,"docStart":2937,"docEnd":3147,"docs":{"brief":"Adds two vectors. It is safe to use either input buffer as an output\nbuffer.","tags":[{"tag":"","text":"Adds two vectors. It is safe to use either input buffer as an output\nbuffer."},{"tag":"param:vec1","text":"First vector."},{"tag":"param:vec2","text":"Second vector."},{"tag":"param:result","text":"Result buffer."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"kind":"stock","returnType":"void","arguments":[{"type":"const float[3]","name":"vec1","decl":"const float vec1[3]","default":null},{"type":"const float[3]","name":"vec2","decl":"const float vec2[3]","default":null},{"type":"float[3]","name":"result","decl":"float result[3]","default":null}]},"ScaleVector":{"name":"ScaleVector","refLine":138,"docStart":3779,"docEnd":3881,"docs":{"brief":"Scales a vector.","tags":[{"tag":"","text":"Scales a vector."},{"tag":"param:vec","text":"Vector."},{"tag":"param:scale","text":"Scale value."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"kind":"stock","returnType":"void","arguments":[{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null},{"type":"float","name":"scale","decl":"float scale","default":null}]},"NegateVector":{"name":"NegateVector","refLine":151,"docStart":3994,"docEnd":4068,"docs":{"brief":"Negatives a vector.","tags":[{"tag":"","text":"Negatives a vector."},{"tag":"param:vec","text":"Vector."}]},"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"kind":"stock","returnType":"void","arguments":[{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_vector_included":{"name":"_vector_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990},"last_updated":{"hash":"c1190fe89d4d0978e6118de2a80645f122d8d203","count":1070,"time":1183915990}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"sdktools_hooks":{"functions":{"OnPlayerRunCmd":{"name":"OnPlayerRunCmd","refLine":59,"docStart":1732,"docEnd":2825,"docs":{"brief":"Called when a clients movement buttons are being processed","tags":[{"tag":"","text":""},{"tag":"brief","text":"Called when a clients movement buttons are being processed"},{"tag":"param:client","text":"Index of the client."},{"tag":"param:buttons","text":"Copyback buffer containing the current commands (as bitflags - see entity_prop_stocks.inc)."},{"tag":"param:impulse","text":"Copyback buffer containing the current impulse command."},{"tag":"param:vel","text":"Players desired velocity."},{"tag":"param:angles","text":"Players desired view angles."},{"tag":"param:weapon","text":"Entity index of the new weapon if player switches weapon, 0 otherwise."},{"tag":"param:subtype","text":"Weapon subtype when selected from a menu."},{"tag":"param:cmdnum","text":"Command number. Increments from the first command sent."},{"tag":"param:tickcount","text":"Tick count. A client's prediction based on the server's GetGameTickCount value."},{"tag":"param:seed","text":"Random seed. Used to determine weapon recoil, spread, and other predicted elements."},{"tag":"param:mouse","text":"Mouse direction (x, y)."},{"tag":"return","text":"Plugin_Handled to block the commands from being processed, Plugin_Continue otherwise."},{"tag":"note","text":"To see if all 11 params are avaliable, use FeatureType_Capability and\nFEATURECAP_PLAYERRUNCMD_11PARAMS."}]},"metadata":{"created":{"hash":"7b6f2863a94a415e31fd833101f42d70536f8b3f","count":2712,"time":1242093246},"last_updated":{"hash":"74f49ec38f321e2b12d30b9e20deea8ff815b3a8","count":3621,"time":1345524166}},"kind":"forward","returnType":"Action","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int&","name":"buttons","decl":"int& buttons","default":null},{"type":"int&","name":"impulse","decl":"int& impulse","default":null},{"type":"float[3]","name":"vel","decl":"float vel[3]","default":null},{"type":"float[3]","name":"angles","decl":"float angles[3]","default":null},{"type":"int&","name":"weapon","decl":"int& weapon","default":null},{"type":"int&","name":"subtype","decl":"int& subtype","default":null},{"type":"int&","name":"cmdnum","decl":"int& cmdnum","default":null},{"type":"int&","name":"tickcount","decl":"int& tickcount","default":null},{"type":"int&","name":"seed","decl":"int& seed","default":null},{"type":"int[2]","name":"mouse","decl":"int mouse[2]","default":null}]},"OnFileReceive":{"name":"OnFileReceive","refLine":79,"docStart":3275,"docEnd":3506,"docs":{"brief":"Called when a client sends a file to the server.","tags":[{"tag":"","text":""},{"tag":"brief","text":"Called when a client sends a file to the server."},{"tag":"param:client","text":"Client index."},{"tag":"param:sFile","text":"Requested file path."},{"tag":"return","text":"Plugin_Handled to block the transfer, Plugin_Continue to let it proceed."}]},"metadata":{"created":{"hash":"274e7bd32923ad1d55979d1c9d09590da276dbc4","count":5630,"time":1442088093},"last_updated":{"hash":"274e7bd32923ad1d55979d1c9d09590da276dbc4","count":5630,"time":1442088093}},"kind":"forward","returnType":"Action","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"sFile","decl":"const char[] sFile","default":null}]},"OnPlayerRunCmdPost":{"name":"OnPlayerRunCmdPost","refLine":76,"docStart":3013,"docEnd":3820,"docs":{"brief":"Called after a clients movement buttons were processed.","tags":[{"tag":"","text":""},{"tag":"brief","text":"Called after a clients movement buttons were processed."},{"tag":"param:client","text":"Index of the client."},{"tag":"param:buttons","text":"The current commands (as bitflags - see entity_prop_stocks.inc)."},{"tag":"param:impulse","text":"The current impulse command."},{"tag":"param:vel","text":"Players desired velocity."},{"tag":"param:angles","text":"Players desired view angles."},{"tag":"param:weapon","text":"Entity index of the new weapon if player switches weapon, 0 otherwise."},{"tag":"param:subtype","text":"Weapon subtype when selected from a menu."},{"tag":"param:cmdnum","text":"Command number. Increments from the first command sent."},{"tag":"param:tickcount","text":"Tick count. A client's prediction based on the server's GetGameTickCount value."},{"tag":"param:seed","text":"Random seed. Used to determine weapon recoil, spread, and other predicted elements."},{"tag":"param:mouse","text":"Mouse direction (x, y)."}]},"metadata":{"created":{"hash":"1351df42608f62e8f6b08bbc37906e98d870c3f0","count":6087,"time":1494339365},"last_updated":{"hash":"1351df42608f62e8f6b08bbc37906e98d870c3f0","count":6087,"time":1494339365}},"kind":"forward","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"buttons","decl":"int buttons","default":null},{"type":"int","name":"impulse","decl":"int impulse","default":null},{"type":"const float[3]","name":"vel","decl":"const float vel[3]","default":null},{"type":"const float[3]","name":"angles","decl":"const float angles[3]","default":null},{"type":"int","name":"weapon","decl":"int weapon","default":null},{"type":"int","name":"subtype","decl":"int subtype","default":null},{"type":"int","name":"cmdnum","decl":"int cmdnum","default":null},{"type":"int","name":"tickcount","decl":"int tickcount","default":null},{"type":"int","name":"seed","decl":"int seed","default":null},{"type":"const int[2]","name":"mouse","decl":"const int mouse[2]","default":null}]},"OnFileSend":{"name":"OnFileSend","refLine":69,"docStart":2977,"docEnd":3213,"docs":{"brief":"Called when a client requests a file from the server.","tags":[{"tag":"","text":""},{"tag":"brief","text":"Called when a client requests a file from the server."},{"tag":"param:client","text":"Client index."},{"tag":"param:sFile","text":"Requested file path."},{"tag":"return","text":"Plugin_Handled to block the transfer, Plugin_Continue to let it proceed."}]},"metadata":{"created":{"hash":"274e7bd32923ad1d55979d1c9d09590da276dbc4","count":5630,"time":1442088093},"last_updated":{"hash":"274e7bd32923ad1d55979d1c9d09590da276dbc4","count":5630,"time":1442088093}},"kind":"forward","returnType":"Action","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"sFile","decl":"const char[] sFile","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_hooks_included":{"name":"_sdktools_hooks_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"7b6f2863a94a415e31fd833101f42d70536f8b3f","count":2712,"time":1242093246},"last_updated":{"hash":"7b6f2863a94a415e31fd833101f42d70536f8b3f","count":2712,"time":1242093246}},"value":""},"FEATURECAP_PLAYERRUNCMD_11PARAMS":{"name":"FEATURECAP_PLAYERRUNCMD_11PARAMS","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"74f49ec38f321e2b12d30b9e20deea8ff815b3a8","count":3621,"time":1345524166},"last_updated":{"hash":"74f49ec38f321e2b12d30b9e20deea8ff815b3a8","count":3621,"time":1345524166}},"value":"\"SDKTools PlayerRunCmd 11Params\""}},"enums":{},"typesets":{},"typedefs":{}},"bitbuffer":{"functions":{"BfReadEntity":{"name":"BfReadEntity","refLine":246,"docStart":6868,"docEnd":7108,"docs":{"brief":"Reads an entity from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads an entity from a readable bitbuffer (bf_read)."},{"tag":"note","text":"This is a wrapper around BfReadShort()."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Entity index read."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfWriteEntity":{"name":"BfWriteEntity","refLine":280,"docStart":9415,"docEnd":9682,"docs":{"brief":"Writes an entity to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes an entity to a writable bitbuffer (bf_write)."},{"tag":"note","text":"This is a wrapper around BfWriteShort()."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:ent","text":"Entity index to write."},{"tag":"error","text":"Invalid or incorrect Handle, or invalid entity."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"ent","decl":"int ent","default":null}]},"BfReadAngle":{"name":"BfReadAngle","refLine":256,"docStart":7145,"docEnd":7382,"docs":{"brief":"Reads a bit angle from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a bit angle from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"param:numBits","text":"Optional number of bits to use."},{"tag":"return","text":"Angle read."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"numBits","decl":"int numBits","default":"8"}]},"BfReadBool":{"name":"BfReadBool","refLine":170,"docStart":4667,"docEnd":4858,"docs":{"brief":"Reads a single bit from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a single bit from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Bit value read."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfReadVecCoord":{"name":"BfReadVecCoord","refLine":444,"docStart":14478,"docEnd":14701,"docs":{"brief":"Reads a 3D vector of coordinates from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 3D vector of coordinates from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"param:coord","text":"Destination coordinate array."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"coord","decl":"float coord[3]","default":null}]},"BfReadFloat":{"name":"BfReadFloat","refLine":224,"docStart":6115,"docEnd":6327,"docs":{"brief":"Reads a floating point number from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a floating point number from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Floating point value read."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfReadCoord":{"name":"BfReadCoord","refLine":265,"docStart":7435,"docEnd":7626,"docs":{"brief":"Reads a coordinate from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a coordinate from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Coordinate read."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfGetNumBytesLeft":{"name":"BfGetNumBytesLeft","refLine":325,"docStart":9442,"docEnd":9652,"docs":{"brief":"Returns the number of bytes left in a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Returns the number of bytes left in a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Number of bytes left unread."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a5b8caa16a06c3efafc5bc445fc39342985e7e6","count":1873,"time":1203555815},"last_updated":{"hash":"7a5b8caa16a06c3efafc5bc445fc39342985e7e6","count":1873,"time":1203555815}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfReadChar":{"name":"BfReadChar","refLine":188,"docStart":5133,"docEnd":5328,"docs":{"brief":"Reads a character from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a character from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Character value read."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfWriteChar":{"name":"BfWriteChar","refLine":225,"docStart":7802,"docEnd":7993,"docs":{"brief":"Writes a byte to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a byte to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:chr","text":"Character to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"chr","decl":"int chr","default":null}]},"BfWriteWord":{"name":"BfWriteWord","refLine":243,"docStart":8325,"docEnd":8565,"docs":{"brief":"Writes a 16bit unsigned integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 16bit unsigned integer to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:num","text":"Integer to write (value will be written as 16bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"num","decl":"int num","default":null}]},"BfWriteByte":{"name":"BfWriteByte","refLine":216,"docStart":7532,"docEnd":7751,"docs":{"brief":"Writes a byte to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a byte to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:byte","text":"Byte to write (value will be written as 8bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"byte","decl":"int byte","default":null}]},"BfWriteVecCoord":{"name":"BfWriteVecCoord","refLine":308,"docStart":10305,"docEnd":10525,"docs":{"brief":"Writes a 3D vector of coordinates to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D vector of coordinates to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:coord","text":"Coordinate array to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"coord","decl":"float coord[3]","default":null}]},"BfWriteString":{"name":"BfWriteString","refLine":270,"docStart":9154,"docEnd":9351,"docs":{"brief":"Writes a string to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a string to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:string","text":"Text string to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"const char[]","name":"string","decl":"const char[] string","default":null}]},"BfReadString":{"name":"BfReadString","refLine":236,"docStart":6369,"docEnd":6786,"docs":{"brief":"Reads a string from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a string from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:line","text":"If true the buffer will be copied until it reaches a '\\n' or a null terminator."},{"tag":"error","text":"Invalid or incorrect Handle, destination string buffer was too short."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"d432dc0cbd17e9150e3f55cc6e156797d2f77413","count":717,"time":1178072145}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"bool","name":"line","decl":"bool line","default":"false"}]},"BfReadAngles":{"name":"BfReadAngles","refLine":462,"docStart":15029,"docEnd":15239,"docs":{"brief":"Reads a 3D angle vector from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 3D angle vector from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"param:angles","text":"Destination angle vector."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"angles","decl":"float angles[3]","default":null}]},"BfReadByte":{"name":"BfReadByte","refLine":179,"docStart":4898,"docEnd":5098,"docs":{"brief":"Reads a byte from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a byte from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Byte value read (read as 8bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfReadShort":{"name":"BfReadShort","refLine":197,"docStart":5363,"docEnd":5576,"docs":{"brief":"Reads a 16bit integer from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 16bit integer from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Integer value read (read as 16bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfWriteNum":{"name":"BfWriteNum","refLine":252,"docStart":8615,"docEnd":8847,"docs":{"brief":"Writes a normal integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a normal integer to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:num","text":"Integer to write (value will be written as 32bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"num","decl":"int num","default":null}]},"BfWriteBool":{"name":"BfWriteBool","refLine":207,"docStart":7262,"docEnd":7480,"docs":{"brief":"Writes a single bit to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a single bit to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:bit","text":"Bit to write (true for 1, false for 0)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"bool","name":"bit","decl":"bool bit","default":null}]},"BfWriteFloat":{"name":"BfWriteFloat","refLine":261,"docStart":8896,"docEnd":9101,"docs":{"brief":"Writes a floating point number to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a floating point number to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:num","text":"Number to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float","name":"num","decl":"float num","default":null}]},"BfWriteAngles":{"name":"BfWriteAngles","refLine":327,"docStart":10860,"docEnd":11067,"docs":{"brief":"Writes a 3D angle vector to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D angle vector to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:angles","text":"Angle vector to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"angles","decl":"float angles[3]","default":null}]},"BfWriteCoord":{"name":"BfWriteCoord","refLine":299,"docStart":10050,"docEnd":10250,"docs":{"brief":"Writes a coordinate to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a coordinate to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:coord","text":"Coordinate to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float","name":"coord","decl":"float coord","default":null}]},"BfWriteVecNormal":{"name":"BfWriteVecNormal","refLine":318,"docStart":10586,"docEnd":10800,"docs":{"brief":"Writes a 3D normal vector to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D normal vector to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:vec","text":"Vector to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null}]},"BfReadWord":{"name":"BfReadWord","refLine":206,"docStart":5612,"docEnd":5834,"docs":{"brief":"Reads a 16bit unsigned integer from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 16bit unsigned integer from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Integer value read (read as 16bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfWriteAngle":{"name":"BfWriteAngle","refLine":290,"docStart":9734,"docEnd":9980,"docs":{"brief":"Writes a bit angle to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a bit angle to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:angle","text":"Angle to write."},{"tag":"param:numBits","text":"Optional number of bits to use."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float","name":"angle","decl":"float angle","default":null},{"type":"int","name":"numBits","decl":"int numBits","default":"8"}]},"BfReadNum":{"name":"BfReadNum","refLine":215,"docStart":5869,"docEnd":6081,"docs":{"brief":"Reads a normal integer to a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a normal integer to a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Integer value read (read as 32bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null}]},"BfReadVecNormal":{"name":"BfReadVecNormal","refLine":453,"docStart":14761,"docEnd":14970,"docs":{"brief":"Reads a 3D normal vector from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 3D normal vector from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"param:vec","text":"Destination vector array."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"f64945b2aa3994ca8db4a76b19327bf3fbe3bc9f","count":599,"time":1173647345},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null}]},"BfWriteShort":{"name":"BfWriteShort","refLine":234,"docStart":8043,"docEnd":8274,"docs":{"brief":"Writes a 16bit integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 16bit integer to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:num","text":"Integer to write (value will be written as 16bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"num","decl":"int num","default":null}]}},"methodmaps":{"BfRead":{"name":"BfRead","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"parent":"Handle","methods":{"ReadByte":{"name":"ReadByte","refLine":122,"docStart":4293,"docEnd":4404,"docs":{"brief":"Reads a byte from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a byte from a readable bitbuffer (bf_read)."},{"tag":"return","text":"Byte value read (read as 8bit)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"int","arguments":[]},"ReadAngles":{"name":"ReadAngles","refLine":192,"docStart":6958,"docEnd":7074,"docs":{"brief":"Reads a 3D angle vector from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 3D angle vector from a readable bitbuffer (bf_read)."},{"tag":"param:angles","text":"Destination angle vector."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float[3]","name":"angles","decl":"float angles[3]","default":null}]},"ReadNum":{"name":"ReadNum","refLine":144,"docStart":5018,"docEnd":5141,"docs":{"brief":"Reads a normal integer to a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a normal integer to a readable bitbuffer (bf_read)."},{"tag":"return","text":"Integer value read (read as 32bit)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"int","arguments":[]},"ReadWord":{"name":"ReadWord","refLine":139,"docStart":4797,"docEnd":4981,"docs":{"brief":"Reads a 16bit unsigned integer from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 16bit unsigned integer from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Integer value read (read as 16bit)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"int","arguments":[]},"ReadShort":{"name":"ReadShort","refLine":133,"docStart":4584,"docEnd":4759,"docs":{"brief":"Reads a 16bit integer from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 16bit integer from a readable bitbuffer (bf_read)."},{"tag":"param:bf","text":"bf_read handle to read from."},{"tag":"return","text":"Integer value read (read as 16bit)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"int","arguments":[]},"ReadAngle":{"name":"ReadAngle","refLine":172,"docStart":6256,"docEnd":6406,"docs":{"brief":"Reads a bit angle from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a bit angle from a readable bitbuffer (bf_read)."},{"tag":"param:numBits","text":"Optional number of bits to use."},{"tag":"return","text":"Angle read."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"float","arguments":[{"type":"int","name":"numBits","decl":"int numBits","default":"8"}]},"ReadVecNormal":{"name":"ReadVecNormal","refLine":187,"docStart":6786,"docEnd":6903,"docs":{"brief":"Reads a 3D normal vector from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 3D normal vector from a readable bitbuffer (bf_read)."},{"tag":"param:vec","text":"Destination vector array."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null}]},"ReadVecCoord":{"name":"ReadVecCoord","refLine":182,"docStart":6601,"docEnd":6730,"docs":{"brief":"Reads a 3D vector of coordinates from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a 3D vector of coordinates from a readable bitbuffer (bf_read)."},{"tag":"param:coord","text":"Destination coordinate array."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float[3]","name":"coord","decl":"float coord[3]","default":null}]},"ReadChar":{"name":"ReadChar","refLine":127,"docStart":4441,"docEnd":4547,"docs":{"brief":"Reads a character from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a character from a readable bitbuffer (bf_read)."},{"tag":"return","text":"Character value read."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"int","arguments":[]},"ReadString":{"name":"ReadString","refLine":161,"docStart":5340,"docEnd":6032,"docs":{"brief":"Reads a string from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a string from a readable bitbuffer (bf_read)."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:line","text":"If true the buffer will be copied until it reaches a '\\n' or a null terminator."},{"tag":"return","text":"Number of bytes written to the buffer. If the bitbuffer stream overflowed,\nthat is, had no terminator before the end of the stream, then a negative\nnumber will be returned equal to the number of characters written to the\nbuffer minus 1. The buffer will be null terminated regardless of the\nreturn value."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"bool","name":"line","decl":"bool line","default":"false"}]},"ReadBool":{"name":"ReadBool","refLine":117,"docStart":4154,"docEnd":4255,"docs":{"brief":"Reads a single bit from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a single bit from a readable bitbuffer (bf_read)."},{"tag":"return","text":"Bit value read."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"bool","arguments":[]},"ReadCoord":{"name":"ReadCoord","refLine":177,"docStart":6459,"docEnd":6561,"docs":{"brief":"Reads a coordinate from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a coordinate from a readable bitbuffer (bf_read)."},{"tag":"return","text":"Coordinate read."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"float","arguments":[]},"ReadFloat":{"name":"ReadFloat","refLine":149,"docStart":5177,"docEnd":5300,"docs":{"brief":"Reads a floating point number from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads a floating point number from a readable bitbuffer (bf_read)."},{"tag":"return","text":"Floating point value read."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"float","arguments":[]},"ReadEntity":{"name":"ReadEntity","refLine":166,"docStart":6116,"docEnd":6217,"docs":{"brief":"Reads an entity from a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Reads an entity from a readable bitbuffer (bf_read)."},{"tag":"return","text":"Entity index read."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"int","arguments":[]}},"properties":{"BytesLeft":{"name":"BytesLeft","refLine":195,"docStart":7129,"docEnd":7199,"docs":{"brief":"Returns the number of bytes left in a readable bitbuffer (bf_read).","tags":[{"tag":"","text":"Returns the number of bytes left in a readable bitbuffer (bf_read)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"type":"int","getter":true,"setter":false}}},"BfWrite":{"name":"BfWrite","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"parent":"Handle","methods":{"WriteByte":{"name":"WriteByte","refLine":48,"docStart":1866,"docEnd":1992,"docs":{"brief":"Writes a byte to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a byte to a writable bitbuffer (bf_write)."},{"tag":"param:byte","text":"Byte to write (value will be written as 8bit)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"byte","decl":"int byte","default":null}]},"WriteCoord":{"name":"WriteCoord","refLine":94,"docStart":3447,"docEnd":3553,"docs":{"brief":"Writes a coordinate to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a coordinate to a writable bitbuffer (bf_write)."},{"tag":"param:coord","text":"Coordinate to write."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float","name":"coord","decl":"float coord","default":null}]},"WriteString":{"name":"WriteString","refLine":78,"docStart":2911,"docEnd":3014,"docs":{"brief":"Writes a string to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a string to a writable bitbuffer (bf_write)."},{"tag":"param:string","text":"Text string to write."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"string","decl":"const char[] string","default":null}]},"WriteNum":{"name":"WriteNum","refLine":68,"docStart":2564,"docEnd":2704,"docs":{"brief":"Writes a normal integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a normal integer to a writable bitbuffer (bf_write)."},{"tag":"param:num","text":"Integer to write (value will be written as 32bit)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"num","decl":"int num","default":null}]},"WriteVecCoord":{"name":"WriteVecCoord","refLine":99,"docStart":3604,"docEnd":3730,"docs":{"brief":"Writes a 3D vector of coordinates to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D vector of coordinates to a writable bitbuffer (bf_write)."},{"tag":"param:coord","text":"Coordinate array to write."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float[3]","name":"coord","decl":"float coord[3]","default":null}]},"WriteWord":{"name":"WriteWord","refLine":63,"docStart":2370,"docEnd":2518,"docs":{"brief":"Writes a 16bit unsigned integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 16bit unsigned integer to a writable bitbuffer (bf_write)."},{"tag":"param:num","text":"Integer to write (value will be written as 16bit)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"num","decl":"int num","default":null}]},"WriteBool":{"name":"WriteBool","refLine":43,"docStart":1692,"docEnd":1817,"docs":{"brief":"Writes a single bit to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a single bit to a writable bitbuffer (bf_write)."},{"tag":"param:bit","text":"Bit to write (true for 1, false for 0)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"bool","name":"bit","decl":"bool bit","default":null}]},"WriteEntity":{"name":"WriteEntity","refLine":83,"docStart":3074,"docEnd":3179,"docs":{"brief":"Writes an entity to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes an entity to a writable bitbuffer (bf_write)."},{"tag":"param:ent","text":"Entity index to write."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"ent","decl":"int ent","default":null}]},"WriteVecNormal":{"name":"WriteVecNormal","refLine":104,"docStart":3787,"docEnd":3895,"docs":{"brief":"Writes a 3D normal vector to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D normal vector to a writable bitbuffer (bf_write)."},{"tag":"param:vec","text":"Vector to write."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null}]},"WriteAngles":{"name":"WriteAngles","refLine":109,"docStart":3951,"docEnd":4064,"docs":{"brief":"Writes a 3D angle vector to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D angle vector to a writable bitbuffer (bf_write)."},{"tag":"param:angles","text":"Angle vector to write."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float[3]","name":"angles","decl":"float angles[3]","default":null}]},"WriteAngle":{"name":"WriteAngle","refLine":89,"docStart":3227,"docEnd":3381,"docs":{"brief":"Writes a bit angle to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a bit angle to a writable bitbuffer (bf_write)."},{"tag":"param:angle","text":"Angle to write."},{"tag":"param:numBits","text":"Optional number of bits to use."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float","name":"angle","decl":"float angle","default":null},{"type":"int","name":"numBits","decl":"int numBits","default":"8"}]},"WriteFloat":{"name":"WriteFloat","refLine":73,"docStart":2749,"docEnd":2862,"docs":{"brief":"Writes a floating point number to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a floating point number to a writable bitbuffer (bf_write)."},{"tag":"param:num","text":"Number to write."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"float","name":"num","decl":"float num","default":null}]},"WriteChar":{"name":"WriteChar","refLine":53,"docStart":2039,"docEnd":2138,"docs":{"brief":"Writes a byte to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a byte to a writable bitbuffer (bf_write)."},{"tag":"param:chr","text":"Character to write."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"chr","decl":"int chr","default":null}]},"WriteShort":{"name":"WriteShort","refLine":58,"docStart":2184,"docEnd":2323,"docs":{"brief":"Writes a 16bit integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 16bit integer to a writable bitbuffer (bf_write)."},{"tag":"param:num","text":"Integer to write (value will be written as 16bit)."}]},"metadata":{"created":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010},"last_updated":{"hash":"2cfe54f34bda5d948394636e3afd619b3b35d346","count":5021,"time":1415581010}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"num","decl":"int num","default":null}]}},"properties":{}}},"enumstructs":{},"constants":{},"defines":{"_bitbuffer_included":{"name":"_bitbuffer_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636},"last_updated":{"hash":"0fbb38ef8efda0d4df8168302e5c8416903755cb","count":506,"time":1171651636}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"adt_array":{"functions":{"SetArrayCell":{"name":"SetArrayCell","refLine":359,"docStart":13402,"docEnd":13787,"docs":{"brief":"Sets a cell value in an array.","tags":[{"tag":"","text":"Sets a cell value in an array."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:value","text":"Cell value to set."},{"tag":"param:block","text":"Optionally specify which block to write to\n(useful if the blocksize > 0)."},{"tag":"param:asChar","text":"Optionally set as a byte instead of a cell."},{"tag":"error","text":"Invalid Handle, invalid index, or invalid block."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"919a31df57d41a44e26301b57c068ae256596c2c","count":4985,"time":1415493093}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"any","name":"value","decl":"any value","default":null},{"type":"int","name":"block","decl":"int block","default":"0"},{"type":"bool","name":"asChar","decl":"bool asChar","default":"false"}]},"ByteCountToCells":{"name":"ByteCountToCells","refLine":28,"docStart":717,"docEnd":962,"docs":{"brief":"Given a maximum string size (including the null terminator),\nreturns the number of cells required to fit that string.","tags":[{"tag":"","text":"Given a maximum string size (including the null terminator),\nreturns the number of cells required to fit that string."},{"tag":"param:size","text":"Number of bytes."},{"tag":"return","text":"Minimum number of cells required to fit the byte count."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908}},"kind":"stock","returnType":"int","arguments":[{"type":"int","name":"size","decl":"int size","default":null}]},"PushArrayArray":{"name":"PushArrayArray","refLine":150,"docStart":4557,"docEnd":5109,"docs":{"brief":"Pushes an array of cells onto the end of an array. The cells\nare pushed as a block (i.e. the entire array sits at the index),\nrather than pushing each cell individually.","tags":[{"tag":"","text":"Pushes an array of cells onto the end of an array. The cells\nare pushed as a block (i.e. the entire array sits at the index),\nrather than pushing each cell individually."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:values","text":"Block of values to copy."},{"tag":"param:size","text":"If not set, the number of elements copied from the array\nwill be equal to the blocksize. If set higher than the\nblocksize, the operation will be truncated."},{"tag":"return","text":"Index of the new entry."},{"tag":"error","text":"Invalid Handle or out of memory."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"21c0466b3d71093885134f5070a7cf22f7c88713","count":2024,"time":1209032744}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"const any[]","name":"values","decl":"const any[] values","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"CreateArray":{"name":"CreateArray","refLine":230,"docStart":8855,"docEnd":9589,"docs":{"brief":"Creates a dynamic global cell array. While slower than a normal array,\nit can be used globally AND dynamically, which is otherwise impossible.\n\nThe contents of the array are uniform; i.e. storing a string at index X\nand then retrieving it as an integer is NOT the same as StringToInt()!\nThe \"blocksize\" determines how many cells each array slot has; it cannot\nbe changed after creation.","tags":[{"tag":"","text":"Creates a dynamic global cell array. While slower than a normal array,\nit can be used globally AND dynamically, which is otherwise impossible.\n\nThe contents of the array are uniform; i.e. storing a string at index X\nand then retrieving it as an integer is NOT the same as StringToInt()!\nThe \"blocksize\" determines how many cells each array slot has; it cannot\nbe changed after creation."},{"tag":"param:blocksize","text":"The number of cells each member of the array can\nhold. For example, 32 cells is equivalent to:\nnew Array[X][32]"},{"tag":"param:startsize","text":"Initial size of the array. Note that data will\nNOT be auto-intialized."},{"tag":"return","text":"New Handle to the array object."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"919a31df57d41a44e26301b57c068ae256596c2c","count":4985,"time":1415493093}},"kind":"native","returnType":"ArrayList","arguments":[{"type":"int","name":"blocksize","decl":"int blocksize","default":"1"},{"type":"int","name":"startsize","decl":"int startsize","default":"0"}]},"GetArrayCell":{"name":"GetArrayCell","refLine":135,"docStart":3833,"docEnd":4216,"docs":{"brief":"Retrieves a cell value from an array.","tags":[{"tag":"","text":"Retrieves a cell value from an array."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:block","text":"Optionally specify which block to read from\n(useful if the blocksize > 0)."},{"tag":"param:asChar","text":"Optionally read as a byte instead of a cell."},{"tag":"return","text":"Value read."},{"tag":"error","text":"Invalid Handle, invalid index, or invalid block."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908}},"kind":"native","returnType":"any","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"int","name":"block","decl":"int block","default":"0"},{"type":"bool","name":"asChar","decl":"bool asChar","default":"false"}]},"GetArrayBlockSize":{"name":"GetArrayBlockSize","refLine":455,"docStart":17013,"docEnd":17185,"docs":{"brief":"Returns the blocksize the array was created with.","tags":[{"tag":"","text":"Returns the blocksize the array was created with."},{"tag":"param:array","text":"Array Handle."},{"tag":"return","text":"The blocksize of the array."},{"tag":"error","text":"Invalid Handle"}]},"metadata":{"created":{"hash":"86363dd3ecf27d57ad1bfe01d63fee68b435291a","count":6053,"time":1486668374},"last_updated":{"hash":"86363dd3ecf27d57ad1bfe01d63fee68b435291a","count":6053,"time":1486668374}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null}]},"SetArrayArray":{"name":"SetArrayArray","refLine":226,"docStart":7303,"docEnd":7674,"docs":{"brief":"Sets an array of cells in an array.","tags":[{"tag":"","text":"Sets an array of cells in an array."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:buffer","text":"Array to copy."},{"tag":"param:size","text":"If not set, assumes the buffer size is equal to the\nblocksize. Otherwise, the size passed is used."},{"tag":"return","text":"Number of cells copied."},{"tag":"error","text":"Invalid Handle or invalid index."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"21c0466b3d71093885134f5070a7cf22f7c88713","count":2024,"time":1209032744}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"const any[]","name":"values","decl":"const any[] values","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"ShiftArrayUp":{"name":"ShiftArrayUp","refLine":394,"docStart":14675,"docEnd":15035,"docs":{"brief":"Shifts an array up. All array contents after and including the given\nindex are shifted up by one, and the given index is then \"free.\"\nAfter shifting, the contents of the given index is undefined.","tags":[{"tag":"","text":"Shifts an array up. All array contents after and including the given\nindex are shifted up by one, and the given index is then \"free.\"\nAfter shifting, the contents of the given index is undefined."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index","text":"Index in the array to shift up from."},{"tag":"error","text":"Invalid Handle or invalid index."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"919a31df57d41a44e26301b57c068ae256596c2c","count":4985,"time":1415493093}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"PushArrayCell":{"name":"PushArrayCell","refLine":96,"docStart":2533,"docEnd":2849,"docs":{"brief":"Pushes a value onto the end of an array, adding a new index.\n\nThis may safely be used even if the array has a blocksize\ngreater than 1.","tags":[{"tag":"","text":"Pushes a value onto the end of an array, adding a new index.\n\nThis may safely be used even if the array has a blocksize\ngreater than 1."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:value","text":"Value to push."},{"tag":"return","text":"Index of the new entry."},{"tag":"error","text":"Invalid Handle or out of memory."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"any","name":"value","decl":"any value","default":null}]},"SwapArrayItems":{"name":"SwapArrayItems","refLine":415,"docStart":15533,"docEnd":15724,"docs":{"brief":"Swaps two items in the array.","tags":[{"tag":"","text":"Swaps two items in the array."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index1","text":"First index."},{"tag":"param:index2","text":"Second index."},{"tag":"error","text":"Invalid Handle or invalid index."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"919a31df57d41a44e26301b57c068ae256596c2c","count":4985,"time":1415493093}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index1","decl":"int index1","default":null},{"type":"int","name":"index2","decl":"int index2","default":null}]},"SetArrayString":{"name":"SetArrayString","refLine":213,"docStart":6974,"docEnd":7226,"docs":{"brief":"Sets a string value in an array.","tags":[{"tag":"","text":"Sets a string value in an array."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:value","text":"String value to set."},{"tag":"return","text":"Number of characters copied."},{"tag":"error","text":"Invalid Handle or invalid index."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"0e167ee85b9ea4a756873bae5d01e6168f8c4e9d","count":3968,"time":1375363594}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"ResizeArray":{"name":"ResizeArray","refLine":261,"docStart":10379,"docEnd":10598,"docs":{"brief":"Resizes an array. If the size is smaller than the current size,\nthe array is truncated.","tags":[{"tag":"","text":"Resizes an array. If the size is smaller than the current size,\nthe array is truncated."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:newsize","text":"New size."},{"tag":"error","text":"Invalid Handle or out of memory."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"newsize","decl":"int newsize","default":null}]},"IsStringInArray":{"name":"IsStringInArray","refLine":260,"docStart":8455,"docEnd":8683,"docs":{"brief":"Returns true is the supplied string exists within the supplied array.","tags":[{"tag":"","text":"Returns true is the supplied string exists within the supplied array."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:item","text":"String to search for"},{"tag":"return","text":"True if found, false if not"},{"tag":"error","text":"Invalid handle"}]},"metadata":{"created":{"hash":"d27a768d9704f9a37bcdc1b85cca3b466576c873","count":1452,"time":1190482999},"last_updated":{"hash":"d27a768d9704f9a37bcdc1b85cca3b466576c873","count":1452,"time":1190482999}},"kind":"stock","returnType":"bool","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"const char[]","name":"item","decl":"const char[] item","default":null}]},"CloneArray":{"name":"CloneArray","refLine":91,"docStart":2984,"docEnd":3351,"docs":{"brief":"Clones an array, returning a new handle with the same size and data. This should NOT\nbe confused with CloneHandle. This is a completely new handle with the same data but\nno relation to the original. You MUST close it.","tags":[{"tag":"","text":"Clones an array, returning a new handle with the same size and data. This should NOT\nbe confused with CloneHandle. This is a completely new handle with the same data but\nno relation to the original. You MUST close it."},{"tag":"param:array","text":"Array handle to be cloned"},{"tag":"return","text":"New handle to the cloned array object"},{"tag":"error","text":"Invalid Handle"}]},"metadata":{"created":{"hash":"daaf961c07fe7f8161ae7c7919a0d848c31c1d4a","count":1665,"time":1194651965},"last_updated":{"hash":"daaf961c07fe7f8161ae7c7919a0d848c31c1d4a","count":1665,"time":1194651965}},"kind":"native","returnType":"Handle","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null}]},"ClearArray":{"name":"ClearArray","refLine":238,"docStart":9658,"docEnd":9806,"docs":{"brief":"Clears an array of all entries. This is the same as ResizeArray(0).","tags":[{"tag":"","text":"Clears an array of all entries. This is the same as ResizeArray(0)."},{"tag":"param:array","text":"Array Handle."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"919a31df57d41a44e26301b57c068ae256596c2c","count":4985,"time":1415493093}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null}]},"GetArraySize":{"name":"GetArraySize","refLine":83,"docStart":2342,"docEnd":2493,"docs":{"brief":"Returns the array size.","tags":[{"tag":"","text":"Returns the array size."},{"tag":"param:array","text":"Array Handle."},{"tag":"return","text":"Number of elements in the array."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null}]},"GetArrayString":{"name":"GetArrayString","refLine":147,"docStart":4295,"docEnd":4602,"docs":{"brief":"Retrieves a string value from an array.","tags":[{"tag":"","text":"Retrieves a string value from an array."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:buffer","text":"Buffer to copy to."},{"tag":"param:maxlength","text":"Maximum size of the buffer."},{"tag":"return","text":"Number of characters copied."},{"tag":"error","text":"Invalid Handle or invalid index."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"PushArrayString":{"name":"PushArrayString","refLine":107,"docStart":2901,"docEnd":3149,"docs":{"brief":"Pushes a string onto the end of an array, truncating it\nif it is too big.","tags":[{"tag":"","text":"Pushes a string onto the end of an array, truncating it\nif it is too big."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:value","text":"String to push."},{"tag":"return","text":"Index of the new entry."},{"tag":"error","text":"Invalid Handle or out of memory."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"GetArrayArray":{"name":"GetArrayArray","refLine":188,"docStart":6026,"docEnd":6419,"docs":{"brief":"Retrieves an array of cells from an array.","tags":[{"tag":"","text":"Retrieves an array of cells from an array."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:buffer","text":"Buffer to store the array in."},{"tag":"param:size","text":"If not set, assumes the buffer size is equal to the\nblocksize. Otherwise, the size passed is used."},{"tag":"return","text":"Number of cells copied."},{"tag":"error","text":"Invalid Handle or invalid index."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"21c0466b3d71093885134f5070a7cf22f7c88713","count":2024,"time":1209032744}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"any[]","name":"buffer","decl":"any[] buffer","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"FindValueInArray":{"name":"FindValueInArray","refLine":440,"docStart":16249,"docEnd":16605,"docs":{"brief":"Returns the index for the first occurrence of the provided value. If the value\ncannot be located, -1 will be returned.","tags":[{"tag":"","text":"Returns the index for the first occurrence of the provided value. If the value\ncannot be located, -1 will be returned."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:item","text":"Value to search for"},{"tag":"param:block","text":"Optionally which block to search in"},{"tag":"return","text":"Array index, or -1 on failure"},{"tag":"error","text":"Invalid Handle or invalid block"}]},"metadata":{"created":{"hash":"daaf961c07fe7f8161ae7c7919a0d848c31c1d4a","count":1665,"time":1194651965},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"any","name":"item","decl":"any item","default":null},{"type":"int","name":"block","decl":"int block","default":"0"}]},"FindStringInArray":{"name":"FindStringInArray","refLine":272,"docStart":8868,"docEnd":9152,"docs":{"brief":"Returns the index for the first occurance of the provided string. If the string\ncannot be located, -1 will be returned.","tags":[{"tag":"","text":"Returns the index for the first occurance of the provided string. If the string\ncannot be located, -1 will be returned."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:item","text":"String to search for"},{"tag":"return","text":"Array index, or -1 on failure"},{"tag":"error","text":"Invalid Handle"}]},"metadata":{"created":{"hash":"daaf961c07fe7f8161ae7c7919a0d848c31c1d4a","count":1665,"time":1194651965},"last_updated":{"hash":"daaf961c07fe7f8161ae7c7919a0d848c31c1d4a","count":1665,"time":1194651965}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"const char[]","name":"item","decl":"const char[] item","default":null}]},"RemoveFromArray":{"name":"RemoveFromArray","refLine":405,"docStart":15091,"docEnd":15474,"docs":{"brief":"Removes an array index, shifting the entire array down from that position\non. For example, if item 8 of 10 is removed, the last 3 items will then be\n(6,7,8) instead of (7,8,9), and all indexes before 8 will remain unchanged.","tags":[{"tag":"","text":"Removes an array index, shifting the entire array down from that position\non. For example, if item 8 of 10 is removed, the last 3 items will then be\n(6,7,8) instead of (7,8,9), and all indexes before 8 will remain unchanged."},{"tag":"param:array","text":"Array Handle."},{"tag":"param:index","text":"Index in the array to remove at."},{"tag":"error","text":"Invalid Handle or invalid index."}]},"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"919a31df57d41a44e26301b57c068ae256596c2c","count":4985,"time":1415493093}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"array","decl":"Handle array","default":null},{"type":"int","name":"index","decl":"int index","default":null}]}},"methodmaps":{"ArrayList":{"name":"ArrayList","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"919a31df57d41a44e26301b57c068ae256596c2c","count":4985,"time":1415493093},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"parent":"Handle","methods":{"PushString":{"name":"PushString","refLine":104,"docStart":4037,"docEnd":4210,"docs":{"brief":"Pushes a string onto the end of an array, truncating it if it is too big.","tags":[{"tag":"","text":"Pushes a string onto the end of an array, truncating it if it is too big."},{"tag":"param:value","text":"String to push."},{"tag":"return","text":"Index of the new entry."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"Resize":{"name":"Resize","refLine":88,"docStart":3393,"docEnd":3641,"docs":{"brief":"Resizes an array. If the size is smaller than the current size, the\narray is truncated. If the size is larger than the current size,\nthe data at the additional indexes will not be initialized.","tags":[{"tag":"","text":"Resizes an array. If the size is smaller than the current size, the\narray is truncated. If the size is larger than the current size,\nthe data at the additional indexes will not be initialized."},{"tag":"param:newsize","text":"New size."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"newsize","decl":"int newsize","default":null}]},"SwapAt":{"name":"SwapAt","refLine":195,"docStart":8102,"docEnd":8259,"docs":{"brief":"Swaps two items in the array.","tags":[{"tag":"","text":"Swaps two items in the array."},{"tag":"param:index1","text":"First index."},{"tag":"param:index2","text":"Second index."},{"tag":"error","text":"Invalid index."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"index1","decl":"int index1","default":null},{"type":"int","name":"index2","decl":"int index2","default":null}]},"GetArray":{"name":"GetArray","refLine":144,"docStart":5666,"docEnd":6061,"docs":{"brief":"Retrieves an array of cells from an array.","tags":[{"tag":"","text":"Retrieves an array of cells from an array."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:buffer","text":"Buffer to store the array in."},{"tag":"param:size","text":"If not set, assumes the buffer size is equal to the\nblocksize. Otherwise, the size passed is used."},{"tag":"return","text":"Number of cells copied."},{"tag":"error","text":"Invalid index."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"any[]","name":"buffer","decl":"any[] buffer","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"Get":{"name":"Get","refLine":125,"docStart":4860,"docEnd":5228,"docs":{"brief":"Retrieves a cell value from an array.","tags":[{"tag":"","text":"Retrieves a cell value from an array."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:block","text":"Optionally specify which block to read from\n(useful if the blocksize > 0)."},{"tag":"param:asChar","text":"Optionally read as a byte instead of a cell."},{"tag":"return","text":"Value read."},{"tag":"error","text":"Invalid index."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"any","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"int","name":"block","decl":"int block","default":"0"},{"type":"bool","name":"asChar","decl":"bool asChar","default":"false"}]},"Sort":{"name":"Sort","refLine":217,"docStart":9009,"docEnd":9208,"docs":{"brief":"Sort an ADT Array. Specify the type as Integer, Float, or String.","tags":[{"tag":"","text":"Sort an ADT Array. Specify the type as Integer, Float, or String."},{"tag":"param:order","text":"Sort order to use, same as other sorts."},{"tag":"param:type","text":"Data type stored in the ADT Array"}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"void","arguments":[{"type":"SortOrder","name":"order","decl":"SortOrder order","default":null},{"type":"SortType","name":"type","decl":"SortType type","default":null}]},"Set":{"name":"Set","refLine":154,"docStart":6134,"docEnd":6518,"docs":{"brief":"Sets a cell value in an array.","tags":[{"tag":"","text":"Sets a cell value in an array."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:value","text":"Cell value to set."},{"tag":"param:block","text":"Optionally specify which block to write to\n(useful if the blocksize > 0)."},{"tag":"param:asChar","text":"Optionally set as a byte instead of a cell."},{"tag":"error","text":"Invalid index, or invalid block."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"any","name":"value","decl":"any value","default":null},{"type":"int","name":"block","decl":"int block","default":"0"},{"type":"bool","name":"asChar","decl":"bool asChar","default":"false"}]},"SetArray":{"name":"SetArray","refLine":172,"docStart":6899,"docEnd":7272,"docs":{"brief":"Sets an array of cells in an array.","tags":[{"tag":"","text":"Sets an array of cells in an array."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:values","text":"Array to copy."},{"tag":"param:size","text":"If not set, assumes the buffer size is equal to the\nblocksize. Otherwise, the size passed is used."},{"tag":"return","text":"Number of cells copied."},{"tag":"error","text":"Invalid index."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"const any[]","name":"values","decl":"const any[] values","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"SortCustom":{"name":"SortCustom","refLine":223,"docStart":9272,"docEnd":9484,"docs":{"brief":"Custom sorts an ADT Array. You must pass in a comparison function.","tags":[{"tag":"","text":"Custom sorts an ADT Array. You must pass in a comparison function."},{"tag":"param:sortfunc","text":"Sort comparison function to use"},{"tag":"param:hndl","text":"Optional Handle to pass through the comparison calls."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"void","arguments":[{"type":"SortFuncADTArray","name":"sortfunc","decl":"SortFuncADTArray sortfunc","default":null},{"type":"Handle","name":"hndl","decl":"Handle hndl","default":"INVALID_HANDLE"}]},"FindValue":{"name":"FindValue","refLine":211,"docStart":8609,"docEnd":8950,"docs":{"brief":"Returns the index for the first occurrence of the provided value. If the\nvalue cannot be located, -1 will be returned.","tags":[{"tag":"","text":"Returns the index for the first occurrence of the provided value. If the\nvalue cannot be located, -1 will be returned."},{"tag":"param:item","text":"Value to search for"},{"tag":"param:block","text":"Optionally which block to search in"},{"tag":"return","text":"Array index, or -1 on failure"},{"tag":"error","text":"Invalid block index"}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"any","name":"item","decl":"any item","default":null},{"type":"int","name":"block","decl":"int block","default":"0"}]},"Push":{"name":"Push","refLine":98,"docStart":3688,"docEnd":3995,"docs":{"brief":"Pushes a value onto the end of an array, adding a new index.\n\nThis may safely be used even if the array has a blocksize greater\nthan 1.","tags":[{"tag":"","text":"Pushes a value onto the end of an array, adding a new index.\n\nThis may safely be used even if the array has a blocksize greater\nthan 1."},{"tag":"param:value","text":"Value to push."},{"tag":"return","text":"Index of the new entry."},{"tag":"error","text":"Invalid Handle or out of memory."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"any","name":"value","decl":"any value","default":null}]},"Clone":{"name":"Clone","refLine":81,"docStart":3028,"docEnd":3353,"docs":{"brief":"Clones an array, returning a new handle with the same size and data.\nThis should NOT be confused with CloneHandle. This is a completely new\nhandle with the same data but no relation to the original. It should\nclosed when no longer needed.","tags":[{"tag":"","text":"Clones an array, returning a new handle with the same size and data.\nThis should NOT be confused with CloneHandle. This is a completely new\nhandle with the same data but no relation to the original. It should\nclosed when no longer needed."},{"tag":"return","text":"New handle to the cloned array object"}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"ArrayList","arguments":[]},"ArrayList":{"name":"ArrayList","refLine":70,"docStart":2063,"docEnd":2861,"docs":{"brief":"Creates a dynamic global cell array. While slower than a normal array,\nit can be used globally AND dynamically, which is otherwise impossible.\n\nThe contents of the array are uniform; i.e. storing a string at index X\nand then retrieving it as an integer is NOT the same as StringToInt()!\nThe \"blocksize\" determines how many cells each array slot has; it cannot\nbe changed after creation.","tags":[{"tag":"","text":"Creates a dynamic global cell array. While slower than a normal array,\nit can be used globally AND dynamically, which is otherwise impossible.\n\nThe contents of the array are uniform; i.e. storing a string at index X\nand then retrieving it as an integer is NOT the same as StringToInt()!\nThe \"blocksize\" determines how many cells each array slot has; it cannot\nbe changed after creation."},{"tag":"param:blocksize","text":"The number of cells each member of the array can\nhold. For example, 32 cells is equivalent to:\nnew Array[X][32]"},{"tag":"param:startsize","text":"Initial size of the array. Note that data will\nNOT be auto-initialized."},{"tag":"return","text":"New Handle to the array object."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"ArrayList","arguments":[{"type":"int","name":"blocksize","decl":"int blocksize","default":"1"},{"type":"int","name":"startsize","decl":"int startsize","default":"0"}]},"Clear":{"name":"Clear","refLine":73,"docStart":2927,"docEnd":2993,"docs":{"brief":"Clears an array of all entries. This is the same as Resize(0).","tags":[{"tag":"","text":"Clears an array of all entries. This is the same as Resize(0)."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"void","arguments":[]},"PushArray":{"name":"PushArray","refLine":115,"docStart":4267,"docEnd":4791,"docs":{"brief":"Pushes an array of cells onto the end of an array. The cells\nare pushed as a block (i.e. the entire array sits at the index),\nrather than pushing each cell individually.","tags":[{"tag":"","text":"Pushes an array of cells onto the end of an array. The cells\nare pushed as a block (i.e. the entire array sits at the index),\nrather than pushing each cell individually."},{"tag":"param:values","text":"Block of values to copy."},{"tag":"param:size","text":"If not set, the number of elements copied from the array\nwill be equal to the blocksize. If set higher than the\nblocksize, the operation will be truncated."},{"tag":"return","text":"Index of the new entry."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"const any[]","name":"values","decl":"const any[] values","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"SetString":{"name":"SetString","refLine":162,"docStart":6603,"docEnd":6832,"docs":{"brief":"Sets a string value in an array.","tags":[{"tag":"","text":"Sets a string value in an array."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:value","text":"String value to set."},{"tag":"return","text":"Number of characters copied."},{"tag":"error","text":"Invalid index."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"ShiftUp":{"name":"ShiftUp","refLine":180,"docStart":7351,"docEnd":7669,"docs":{"brief":"Shifts an array up. All array contents after and including the given\nindex are shifted up by one, and the given index is then \"free.\"\nAfter shifting, the contents of the given index is undefined.","tags":[{"tag":"","text":"Shifts an array up. All array contents after and including the given\nindex are shifted up by one, and the given index is then \"free.\"\nAfter shifting, the contents of the given index is undefined."},{"tag":"param:index","text":"Index in the array to shift up from."},{"tag":"error","text":"Invalid index."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"index","decl":"int index","default":null}]},"FindString":{"name":"FindString","refLine":202,"docStart":8317,"docEnd":8553,"docs":{"brief":"Returns the index for the first occurrence of the provided string. If\nthe string cannot be located, -1 will be returned.","tags":[{"tag":"","text":"Returns the index for the first occurrence of the provided string. If\nthe string cannot be located, -1 will be returned."},{"tag":"param:item","text":"String to search for"},{"tag":"return","text":"Array index, or -1 on failure"}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"item","decl":"const char[] item","default":null}]},"Erase":{"name":"Erase","refLine":188,"docStart":7715,"docEnd":8058,"docs":{"brief":"Removes an array index, shifting the entire array down from that position\non. For example, if item 8 of 10 is removed, the last 3 items will then be\n(6,7,8) instead of (7,8,9), and all indexes before 8 will remain unchanged.","tags":[{"tag":"","text":"Removes an array index, shifting the entire array down from that position\non. For example, if item 8 of 10 is removed, the last 3 items will then be\n(6,7,8) instead of (7,8,9), and all indexes before 8 will remain unchanged."},{"tag":"param:index","text":"Index in the array to remove at."},{"tag":"error","text":"Invalid index."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"index","decl":"int index","default":null}]},"GetString":{"name":"GetString","refLine":134,"docStart":5301,"docEnd":5589,"docs":{"brief":"Retrieves a string value from an array.","tags":[{"tag":"","text":"Retrieves a string value from an array."},{"tag":"param:index","text":"Index in the array."},{"tag":"param:buffer","text":"Buffer to copy to."},{"tag":"param:maxlength","text":"Maximum size of the buffer."},{"tag":"return","text":"Number of characters copied."},{"tag":"error","text":"Invalid index."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]}},"properties":{"BlockSize":{"name":"BlockSize","refLine":231,"docStart":9670,"docEnd":9723,"docs":{"brief":"Retrieve the blocksize the array was created with.","tags":[{"tag":"","text":"Retrieve the blocksize the array was created with."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"type":"int","getter":true,"setter":false},"Length":{"name":"Length","refLine":226,"docStart":9578,"docEnd":9612,"docs":{"brief":"Retrieve the size of the array.","tags":[{"tag":"","text":"Retrieve the size of the array."}]},"metadata":{"created":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824},"last_updated":{"hash":"bf898dd45fefa128c06dc5c6fc7c34b63d1702ff","count":6842,"time":1640603824}},"type":"int","getter":true,"setter":false}}}},"enumstructs":{},"constants":{},"defines":{"_adt_array_included":{"name":"_adt_array_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908},"last_updated":{"hash":"8fa974961c93561608ad249ee437fc100962da8a","count":1157,"time":1185239908}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"sdktools_client":{"functions":{"InactivateClient":{"name":"InactivateClient","refLine":43,"docStart":1657,"docEnd":1768,"docs":{"brief":"Sets the client to an inactive state waiting for a new map","tags":[{"tag":"","text":"Sets the client to an inactive state waiting for a new map"},{"tag":"param:client","text":"The client index"}]},"metadata":{"created":{"hash":"838e8c7b35dadbe2544d9b1ea91d6eeb2ded7889","count":3340,"time":1309990262},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"ReconnectClient":{"name":"ReconnectClient","refLine":50,"docStart":1815,"docEnd":1918,"docs":{"brief":"Reconnect a client without dropping the netchannel","tags":[{"tag":"","text":"Reconnect a client without dropping the netchannel"},{"tag":"param:client","text":"The client index"}]},"metadata":{"created":{"hash":"838e8c7b35dadbe2544d9b1ea91d6eeb2ded7889","count":3340,"time":1309990262},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_client_included":{"name":"_sdktools_client_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"838e8c7b35dadbe2544d9b1ea91d6eeb2ded7889","count":3340,"time":1309990262},"last_updated":{"hash":"838e8c7b35dadbe2544d9b1ea91d6eeb2ded7889","count":3340,"time":1309990262}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"basecomm":{"functions":{"BaseComm_IsClientMuted":{"name":"BaseComm_IsClientMuted","refLine":52,"docStart":1842,"docEnd":1989,"docs":{"brief":"Returns whether or not a client is muted","tags":[{"tag":"","text":"Returns whether or not a client is muted"},{"tag":"param:client","text":"Client index."},{"tag":"return","text":"True if client is muted, false otherwise."}]},"metadata":{"created":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061},"last_updated":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"BaseComm_SetClientGag":{"name":"BaseComm_SetClientGag","refLine":61,"docStart":2038,"docEnd":2245,"docs":{"brief":"Sets a client's gag state","tags":[{"tag":"","text":"Sets a client's gag state"},{"tag":"param:client","text":"Client index."},{"tag":"param:gagState","text":"True to gag client, false to ungag."},{"tag":"return","text":"True if this caused a change in gag state, false otherwise."}]},"metadata":{"created":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061},"last_updated":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"bool","name":"gagState","decl":"bool gagState","default":null}]},"BaseComm_SetClientMute":{"name":"BaseComm_SetClientMute","refLine":70,"docStart":2308,"docEnd":2520,"docs":{"brief":"Sets a client's mute state","tags":[{"tag":"","text":"Sets a client's mute state"},{"tag":"param:client","text":"Client index."},{"tag":"param:muteState","text":"True to mute client, false to unmute."},{"tag":"return","text":"True if this caused a change in mute state, false otherwise."}]},"metadata":{"created":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061},"last_updated":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"bool","name":"muteState","decl":"bool muteState","default":null}]},"BaseComm_IsClientGagged":{"name":"BaseComm_IsClientGagged","refLine":44,"docStart":1643,"docEnd":1792,"docs":{"brief":"Returns whether or not a client is gagged","tags":[{"tag":"","text":"Returns whether or not a client is gagged"},{"tag":"param:client","text":"Client index."},{"tag":"return","text":"True if client is gagged, false otherwise."}]},"metadata":{"created":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061},"last_updated":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"__pl_basecomm_SetNTVOptional":{"name":"__pl_basecomm_SetNTVOptional","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061},"last_updated":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061}},"kind":"public","returnType":"void","arguments":[]},"BaseComm_OnClientGag":{"name":"BaseComm_OnClientGag","refLine":52,"docStart":1864,"docEnd":2018,"docs":{"brief":"Called when a client is gagged or ungagged","tags":[{"tag":"","text":"Called when a client is gagged or ungagged"},{"tag":"param:client","text":"Client index"},{"tag":"param:gagState","text":"True if client was gaged, false otherwise"}]},"metadata":{"created":{"hash":"34d2db6d78c67f1efbfe8557a32cdc42a101e59f","count":3648,"time":1346701511},"last_updated":{"hash":"adbdcd6b1d7592adec435122aa4c4b329a75ede7","count":5345,"time":1425665889}},"kind":"forward","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"bool","name":"gagState","decl":"bool gagState","default":null}]},"BaseComm_OnClientMute":{"name":"BaseComm_OnClientMute","refLine":44,"docStart":1643,"docEnd":1796,"docs":{"brief":"Called when a client is muted or unmuted","tags":[{"tag":"","text":"Called when a client is muted or unmuted"},{"tag":"param:client","text":"Client index"},{"tag":"param:muteState","text":"True if client was muted, false otherwise"}]},"metadata":{"created":{"hash":"34d2db6d78c67f1efbfe8557a32cdc42a101e59f","count":3648,"time":1346701511},"last_updated":{"hash":"adbdcd6b1d7592adec435122aa4c4b329a75ede7","count":5345,"time":1425665889}},"kind":"forward","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"bool","name":"muteState","decl":"bool muteState","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_basecomm_included":{"name":"_basecomm_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061},"last_updated":{"hash":"bb7f7eff516ad653e6902c2d160f8df1c0862f18","count":3341,"time":1310006061}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"eventsmsgs":{"functions":{"BfWriteAngle":{"name":"BfWriteAngle","refLine":159,"docStart":4509,"docEnd":4769,"docs":{"brief":"Writes a bit angle to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a bit angle to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:angle","text":"Angle to write."},{"tag":"param:numBits","text":"Optional number of bits to use."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float","name":"angle","decl":"float angle","default":null},{"type":"int","name":"numBits","decl":"int numBits","default":"8"}]},"BfWriteVecNormal":{"name":"BfWriteVecNormal","refLine":189,"docStart":5385,"docEnd":5600,"docs":{"brief":"Writes a 3D normal vector to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D normal vector to a writable bitbuffer (bf_write)."},{"tag":"param:bif","text":"bf_write handle to write to."},{"tag":"param:vec","text":"Vector to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null}]},"BfWriteBool":{"name":"BfWriteBool","refLine":67,"docStart":1978,"docEnd":2210,"docs":{"brief":"Writes a single bit to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a single bit to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:bit","text":"Bit to write (true for 1, false for 0)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"bool","name":"bit","decl":"bool bit","default":null}]},"BfWriteChar":{"name":"BfWriteChar","refLine":87,"docStart":2532,"docEnd":2737,"docs":{"brief":"Writes a byte to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a byte to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:chr","text":"Character to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"chr","decl":"int chr","default":null}]},"StartMessage":{"name":"StartMessage","refLine":50,"docStart":1414,"docEnd":1788,"docs":{"brief":"Starts a usermessage (network message).","tags":[{"tag":"","text":"Starts a usermessage (network message)."},{"tag":"note","text":"Only one message can be active at a time."},{"tag":"param:msg","text":"Message index to start."},{"tag":"param:clients","text":"Array containing player indexes to broadcast to."},{"tag":"param:numClients","text":"Number of players in the array."},{"tag":"return","text":"A handle to a bf_write bit packing structure, or\nINVALID_HANDLE on failure."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"Handle","arguments":[{"type":"UserMsg","name":"msg","decl":"UserMsg msg","default":null},{"type":"int[]","name":"clients","decl":"int[] clients","default":null},{"type":"int","name":"numClients","decl":"int numClients","default":null},{"type":"int","name":"flags","decl":"int flags","default":null}]},"BfWriteVecCoord":{"name":"BfWriteVecCoord","refLine":179,"docStart":5094,"docEnd":5329,"docs":{"brief":"Writes a 3D vector of coordinates to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D vector of coordinates to a writable bitbuffer (bf_write)."},{"tag":"param:bif","text":"bf_write handle to write to."},{"tag":"param:coord","text":"Coordinate array to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"coord","decl":"float coord[3]","default":null}]},"StartMessageAll":{"name":"StartMessageAll","refLine":209,"docStart":5932,"docEnd":6202,"docs":{"brief":"Starts a usermessage (network message) that broadcasts to all clients.","tags":[{"tag":"","text":"Starts a usermessage (network message) that broadcasts to all clients."},{"tag":"param:msg","text":"Message index to start."},{"tag":"param:flags","text":"Optional flags to set."},{"tag":"return","text":"A handle to a bf_write bit packing structure, or\nINVALID_HANDLE on failure."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"stock","returnType":"Handle","arguments":[{"type":"UserMsg","name":"msg","decl":"UserMsg msg","default":null},{"type":"int","name":"flags","decl":"int flags","default":"0"}]},"BfWriteByte":{"name":"BfWriteByte","refLine":77,"docStart":2257,"docEnd":2490,"docs":{"brief":"Writes a byte to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a byte to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:byte","text":"Byte to write (value will be written as 8bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"byte","decl":"int byte","default":null}]},"BfWriteNum":{"name":"BfWriteNum","refLine":117,"docStart":3360,"docEnd":3606,"docs":{"brief":"Writes a normal integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a normal integer to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:num","text":"Integer to write (value will be written as 32bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"num","decl":"int num","default":null}]},"BfWriteFloat":{"name":"BfWriteFloat","refLine":127,"docStart":3646,"docEnd":3865,"docs":{"brief":"Writes a floating point number to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a floating point number to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:num","text":"Number to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float","name":"num","decl":"float num","default":null}]},"BfWriteCoord":{"name":"BfWriteCoord","refLine":169,"docStart":4830,"docEnd":5044,"docs":{"brief":"Writes a coordinate to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a coordinate to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:coord","text":"Coordinate to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float","name":"coord","decl":"float coord","default":null}]},"StartMessageOne":{"name":"StartMessageOne","refLine":233,"docStart":6504,"docEnd":6804,"docs":{"brief":"Starts a simpler usermessage (network message) for one client.","tags":[{"tag":"","text":"Starts a simpler usermessage (network message) for one client."},{"tag":"param:msg","text":"Message index to start."},{"tag":"param:client","text":"Client to send to."},{"tag":"param:flags","text":"Optional flags to set."},{"tag":"return","text":"A handle to a bf_write bit packing structure, or\nINVALID_HANDLE on failure."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"stock","returnType":"Handle","arguments":[{"type":"UserMsg","name":"msg","decl":"UserMsg msg","default":null},{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"flags","decl":"int flags","default":"0"}]},"BfWriteString":{"name":"BfWriteString","refLine":137,"docStart":3913,"docEnd":4124,"docs":{"brief":"Writes a string to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a string to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:string","text":"Text string to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"const char[]","name":"string","decl":"const char[] string","default":null}]},"EndMessage":{"name":"EndMessage","refLine":57,"docStart":1864,"docEnd":1952,"docs":{"brief":"Ends a previously started user message (network message).\n","tags":[{"tag":"","text":"Ends a previously started user message (network message).\n"}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[]},"BfWriteAngles":{"name":"BfWriteAngles","refLine":199,"docStart":5655,"docEnd":5877,"docs":{"brief":"Writes a 3D angle vector to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 3D angle vector to a writable bitbuffer (bf_write)."},{"tag":"param:bif","text":"bf_write handle to write to."},{"tag":"param:angles","text":"Angle vector to write."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"float[3]","name":"angles","decl":"float angles[3]","default":null}]},"BfWriteEntity":{"name":"BfWriteEntity","refLine":148,"docStart":4185,"docEnd":4466,"docs":{"brief":"Writes an entity to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes an entity to a writable bitbuffer (bf_write)."},{"tag":"note","text":"This is a wrapper around BfWriteShort()."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:ent","text":"Entity index to write."},{"tag":"error","text":"Invalid or incorrect Handle, or invalid entity."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"ent","decl":"int ent","default":null}]},"BfWriteShort":{"name":"BfWriteShort","refLine":97,"docStart":2778,"docEnd":3023,"docs":{"brief":"Writes a 16bit integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 16bit integer to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:num","text":"Integer to write (value will be written as 16bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"num","decl":"int num","default":null}]},"GetUserMessageId":{"name":"GetUserMessageId","refLine":38,"docStart":1155,"docEnd":1356,"docs":{"brief":"Returns the ID of a given message, or -1 on failure.","tags":[{"tag":"","text":"Returns the ID of a given message, or -1 on failure."},{"tag":"param:msg","text":"String containing message name (case sensitive)."},{"tag":"return","text":"A message index, or INVALID_MESSAGE_ID on failure."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"UserMsg","arguments":[{"type":"const char[]","name":"msg","decl":"const char[] msg","default":null}]},"BfWriteWord":{"name":"BfWriteWord","refLine":107,"docStart":3065,"docEnd":3319,"docs":{"brief":"Writes a 16bit unsigned integer to a writable bitbuffer (bf_write).","tags":[{"tag":"","text":"Writes a 16bit unsigned integer to a writable bitbuffer (bf_write)."},{"tag":"param:bf","text":"bf_write handle to write to."},{"tag":"param:num","text":"Integer to write (value will be written as 16bit)."},{"tag":"error","text":"Invalid or incorrect Handle."}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"bf","decl":"Handle bf","default":null},{"type":"int","name":"num","decl":"int num","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"USERMSG_PASSTHRU_ALL":{"name":"USERMSG_PASSTHRU_ALL","refLine":27,"docStart":898,"docEnd":968,"docs":{"brief":"Message will pass through other SourceMM plugins AND SourceMod","tags":[{"tag":"","text":"Message will pass through other SourceMM plugins AND SourceMod"}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"value":"(1<<1)"},"_eventsmsgs_included":{"name":"_eventsmsgs_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"value":""},"USERMSG_PASSTHRU":{"name":"USERMSG_PASSTHRU","refLine":26,"docStart":803,"docEnd":859,"docs":{"brief":"Message will pass through other SourceMM plugins","tags":[{"tag":"","text":"Message will pass through other SourceMM plugins"}]},"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"value":"(1<<0)"}},"enums":{"UserMsg":{"name":"UserMsg","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"entries":{"INVALID_MESSAGE_ID":{"name":"INVALID_MESSAGE_ID","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358},"last_updated":{"hash":"7a8152aba371f18907933535dc9e5e7807dd071f","count":494,"time":1171475358}},"value":"-1"}}}},"typesets":{},"typedefs":{}},"testing":{"functions":{"AssertEq":{"name":"AssertEq","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"2379c76b032097cfa266dbcd4ee9d1d2334e6563","count":4467,"time":1401955217},"last_updated":{"hash":"52c7ef0f6fd3dd90521b635cd455541cde8b48f8","count":5831,"time":1452126916}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"text","decl":"const char[] text","default":null},{"type":"int","name":"cell1","decl":"int cell1","default":null},{"type":"int","name":"cell2","decl":"int cell2","default":null}]},"SetTestContext":{"name":"SetTestContext","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"2379c76b032097cfa266dbcd4ee9d1d2334e6563","count":4467,"time":1401955217},"last_updated":{"hash":"52c7ef0f6fd3dd90521b635cd455541cde8b48f8","count":5831,"time":1452126916}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"context","decl":"const char[] context","default":null}]},"AssertTrue":{"name":"AssertTrue","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"2379c76b032097cfa266dbcd4ee9d1d2334e6563","count":4467,"time":1401955217},"last_updated":{"hash":"52c7ef0f6fd3dd90521b635cd455541cde8b48f8","count":5831,"time":1452126916}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"text","decl":"const char[] text","default":null},{"type":"bool","name":"value","decl":"bool value","default":null}]},"AssertStrEq":{"name":"AssertStrEq","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"69ae2249386fa3349e1e37f78c0587d5542cd97a","count":6586,"time":1594261119},"last_updated":{"hash":"69ae2249386fa3349e1e37f78c0587d5542cd97a","count":6586,"time":1594261119}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"text","decl":"const char[] text","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null},{"type":"const char[]","name":"expected","decl":"const char[] expected","default":null}]},"AssertFalse":{"name":"AssertFalse","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"2379c76b032097cfa266dbcd4ee9d1d2334e6563","count":4467,"time":1401955217},"last_updated":{"hash":"52c7ef0f6fd3dd90521b635cd455541cde8b48f8","count":5831,"time":1452126916}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"text","decl":"const char[] text","default":null},{"type":"bool","name":"value","decl":"bool value","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{},"enums":{},"typesets":{},"typedefs":{}},"profiler":{"functions":{"StartProfiling":{"name":"StartProfiling","refLine":56,"docStart":1877,"docEnd":1975,"docs":{"brief":"Starts profiling.","tags":[{"tag":"","text":"Starts profiling."},{"tag":"param:prof","text":"Profiling object."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"63c5d0574723b2dad5340e1255f68daa40b8c769","count":915,"time":1181201395},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"prof","decl":"Handle prof","default":null}]},"StopProfiling":{"name":"StopProfiling","refLine":64,"docStart":2021,"docEnd":2149,"docs":{"brief":"Stops profiling.","tags":[{"tag":"","text":"Stops profiling."},{"tag":"param:prof","text":"Profiling object."},{"tag":"error","text":"Invalid Handle or profiling was never started."}]},"metadata":{"created":{"hash":"63c5d0574723b2dad5340e1255f68daa40b8c769","count":915,"time":1181201395},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"prof","decl":"Handle prof","default":null}]},"CreateProfiler":{"name":"CreateProfiler","refLine":74,"docStart":2305,"docEnd":2457,"docs":{"brief":"Creates a new profile object. The Handle must be freed\nusing delete or CloseHandle().","tags":[{"tag":"","text":"Creates a new profile object. The Handle must be freed\nusing delete or CloseHandle()."},{"tag":"return","text":"Handle to the profiler object."}]},"metadata":{"created":{"hash":"63c5d0574723b2dad5340e1255f68daa40b8c769","count":915,"time":1181201395},"last_updated":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329}},"kind":"native","returnType":"Profiler","arguments":[]},"GetProfilerTime":{"name":"GetProfilerTime","refLine":60,"docStart":1284,"docEnd":1522,"docs":{"brief":"Returns the amount of high-precision time in seconds\nthat passed during the profiler's last start/stop\ncycle.","tags":[{"tag":"","text":"Returns the amount of high-precision time in seconds\nthat passed during the profiler's last start/stop\ncycle."},{"tag":"param:prof","text":"Profiling object."},{"tag":"return","text":"Time elapsed in seconds."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"63c5d0574723b2dad5340e1255f68daa40b8c769","count":915,"time":1181201395},"last_updated":{"hash":"63c5d0574723b2dad5340e1255f68daa40b8c769","count":915,"time":1181201395}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"prof","decl":"Handle prof","default":null}]},"LeaveProfilingEvent":{"name":"LeaveProfilingEvent","refLine":91,"docStart":2815,"docEnd":3025,"docs":{"brief":"Mark the end of the last profiling event. This must be called in the same\nstack frame as StartProfilingEvent(). Not doing so, or throwing errors,\nwill make the resulting profile very wrong.","tags":[{"tag":"","text":"Mark the end of the last profiling event. This must be called in the same\nstack frame as StartProfilingEvent(). Not doing so, or throwing errors,\nwill make the resulting profile very wrong."}]},"metadata":{"created":{"hash":"ec61d4d188389b2af59d51b09319b13468ddccec","count":4543,"time":1403597053},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[]},"EnterProfilingEvent":{"name":"EnterProfilingEvent","refLine":84,"docStart":2480,"docEnd":2738,"docs":{"brief":"Mark the start of a profiling event.","tags":[{"tag":"","text":"Mark the start of a profiling event."},{"tag":"param:group","text":"Budget group. This can be \"all\" for a default, or a short\ndescription like \"Timers\" or \"Events\"."},{"tag":"param:name","text":"A name to attribute to this profiling event."}]},"metadata":{"created":{"hash":"ec61d4d188389b2af59d51b09319b13468ddccec","count":4543,"time":1403597053},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"group","decl":"const char[] group","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":null}]},"IsProfilingActive":{"name":"IsProfilingActive","refLine":100,"docStart":3091,"docEnd":3239,"docs":{"brief":"Returns true if the global profiler is enabled; false otherwise. It is\nnot necessary to call this before Enter/LeaveProfilingEvent.","tags":[{"tag":"","text":"Returns true if the global profiler is enabled; false otherwise. It is\nnot necessary to call this before Enter/LeaveProfilingEvent."}]},"metadata":{"created":{"hash":"ec61d4d188389b2af59d51b09319b13468ddccec","count":4543,"time":1403597053},"last_updated":{"hash":"ec61d4d188389b2af59d51b09319b13468ddccec","count":4543,"time":1403597053}},"kind":"native","returnType":"bool","arguments":[]}},"methodmaps":{"Profiler":{"name":"Profiler","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329},"last_updated":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329}},"parent":"Handle","methods":{"Profiler":{"name":"Profiler","refLine":48,"docStart":1730,"docEnd":1866,"docs":{"brief":"Creates a new profile object. The Handle must be freed\nusing delete or CloseHandle().","tags":[{"tag":"","text":"Creates a new profile object. The Handle must be freed\nusing delete or CloseHandle()."},{"tag":"return","text":"A new Profiler Handle."}]},"metadata":{"created":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329},"last_updated":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329}},"kind":"native","returnType":"Profiler","arguments":[]},"Stop":{"name":"Stop","refLine":56,"docStart":1967,"docEnd":2044,"docs":{"brief":"Stops a cycle for profiling.","tags":[{"tag":"","text":"Stops a cycle for profiling."},{"tag":"error","text":"Profiler was never started."}]},"metadata":{"created":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329},"last_updated":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329}},"kind":"native","returnType":"void","arguments":[]},"Start":{"name":"Start","refLine":51,"docStart":1900,"docEnd":1932,"docs":{"brief":"Starts a cycle for profiling.","tags":[{"tag":"","text":"Starts a cycle for profiling."}]},"metadata":{"created":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329},"last_updated":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329}},"kind":"native","returnType":"void","arguments":[]}},"properties":{"Time":{"name":"Time","refLine":63,"docStart":2079,"docEnd":2246,"docs":{"brief":"Returns the amount of high-precision time in seconds\nthat passed during the profiler's last start/stop\ncycle.","tags":[{"tag":"","text":"Returns the amount of high-precision time in seconds\nthat passed during the profiler's last start/stop\ncycle."},{"tag":"return","text":"Time elapsed in seconds."}]},"metadata":{"created":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329},"last_updated":{"hash":"c09b32010f9648f541bb090ddc5917bba6aa9866","count":6301,"time":1531062329}},"type":"float","getter":true,"setter":false}}}},"enumstructs":{},"constants":{},"defines":{"_profiler_included":{"name":"_profiler_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"63c5d0574723b2dad5340e1255f68daa40b8c769","count":915,"time":1181201395},"last_updated":{"hash":"63c5d0574723b2dad5340e1255f68daa40b8c769","count":915,"time":1181201395}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"dbi":{"functions":{"SQL_FetchFloat":{"name":"SQL_FetchFloat","refLine":352,"docStart":11505,"docEnd":12089,"docs":{"brief":"Fetches a float from a field in the current row of a result set.\nIf the result is NULL, a value of 0.0 will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull().","tags":[{"tag":"","text":"Fetches a float from a field in the current row of a result set.\nIf the result is NULL, a value of 0.0 will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull()."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"param:result","text":"Optional variable to store the status of the return value."},{"tag":"return","text":"A float value."},{"tag":"error","text":"Invalid query Handle or field index, invalid\ntype conversion requested from the database,\nor no current result set."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null},{"type":"int","name":"field","decl":"int field","default":null},{"type":"DBResult&","name":"result","decl":"DBResult& result","default":"DBVal_Error"}]},"SQL_Execute":{"name":"SQL_Execute","refLine":444,"docStart":15401,"docEnd":15639,"docs":{"brief":"Executes a prepared statement. All parameters must be bound beforehand.","tags":[{"tag":"","text":"Executes a prepared statement. All parameters must be bound beforehand."},{"tag":"param:statement","text":"A statement (prepared query) Handle."},{"tag":"return","text":"True on success, false on failure."},{"tag":"error","text":"Invalid statement Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"statement","decl":"Handle statement","default":null}]},"SQL_CheckConfig":{"name":"SQL_CheckConfig","refLine":514,"docStart":21125,"docEnd":21292,"docs":{"brief":"Returns if a named configuration is present in databases.cfg.","tags":[{"tag":"","text":"Returns if a named configuration is present in databases.cfg."},{"tag":"param:name","text":"Configuration name."},{"tag":"return","text":"True if it exists, false otherwise."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"name","decl":"const char[] name","default":null}]},"SQL_HasResultSet":{"name":"SQL_HasResultSet","refLine":257,"docStart":8351,"docEnd":8677,"docs":{"brief":"Returns whether or not a result set exists. This will\nreturn true even if 0 results were returned, but false\non queries like UPDATE, INSERT, or DELETE.","tags":[{"tag":"","text":"Returns whether or not a result set exists. This will\nreturn true even if 0 results were returned, but false\non queries like UPDATE, INSERT, or DELETE."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"return","text":"True if there is a result set, false otherwise."},{"tag":"error","text":"Invalid query Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null}]},"SQL_GetFieldCount":{"name":"SQL_GetFieldCount","refLine":275,"docStart":8982,"docEnd":9199,"docs":{"brief":"Retrieves the number of fields in the last result set.","tags":[{"tag":"","text":"Retrieves the number of fields in the last result set."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"return","text":"Number of fields in the current result set."},{"tag":"error","text":"Invalid query Handle."}]},"metadata":{"created":{"hash":"eb54cbb4f5cf42a4c54656812c5a90cb61c2ce2d","count":870,"time":1180671773},"last_updated":{"hash":"eb54cbb4f5cf42a4c54656812c5a90cb61c2ce2d","count":870,"time":1180671773}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null}]},"SQL_FetchInt":{"name":"SQL_FetchInt","refLine":367,"docStart":12174,"docEnd":12762,"docs":{"brief":"Fetches an integer from a field in the current row of a result set.\nIf the result is NULL, a value of 0 will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull().","tags":[{"tag":"","text":"Fetches an integer from a field in the current row of a result set.\nIf the result is NULL, a value of 0 will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull()."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"param:result","text":"Optional variable to store the status of the return value."},{"tag":"return","text":"An integer value."},{"tag":"error","text":"Invalid query Handle or field index, invalid\ntype conversion requested from the database,\nor no current result set."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null},{"type":"int","name":"field","decl":"int field","default":null},{"type":"DBResult&","name":"result","decl":"DBResult& result","default":"DBVal_Error"}]},"SQL_GetError":{"name":"SQL_GetError","refLine":176,"docStart":5234,"docEnd":5543,"docs":{"brief":"Returns the error reported by the last query.","tags":[{"tag":"","text":"Returns the error reported by the last query."},{"tag":"param:hndl","text":"A database OR statement Handle."},{"tag":"param:error","text":"Error buffer."},{"tag":"param:maxlength","text":"Maximum length of the buffer."},{"tag":"return","text":"True if there was an error, false otherwise."},{"tag":"error","text":"Invalid database or statement Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":null},{"type":"char[]","name":"error","decl":"char[] error","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SQL_QuoteString":{"name":"SQL_QuoteString","refLine":638,"docStart":25534,"docEnd":25699,"docs":{"brief":"This is a backwards compatibility stock. You should use SQL_EscapeString()\ninstead, as this function will probably be deprecated in SourceMod 1.1.","tags":[{"tag":"","text":"This is a backwards compatibility stock. You should use SQL_EscapeString()\ninstead, as this function will probably be deprecated in SourceMod 1.1."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"stock","returnType":"bool","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"const char[]","name":"string","decl":"const char[] string","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"int&","name":"written","decl":"int& written","default":"0"}]},"SQL_EscapeString":{"name":"SQL_EscapeString","refLine":628,"docStart":24280,"docEnd":25375,"docs":{"brief":"Escapes a database string for literal insertion. This is not needed\nfor binding strings in prepared statements.\n\nGenerally, database strings are inserted into queries enclosed in\nsingle quotes ('). If user input has a single quote in it, the\nquote needs to be escaped. This function ensures that any unsafe\ncharacters are safely escaped according to the database engine and\nthe database's character set.\n\nNOTE: SourceMod only guarantees properly escaped strings when the query\nencloses the string in ''. While drivers tend to allow \" instead, the string\nmay be not be escaped (for example, on SQLite)!","tags":[{"tag":"","text":"Escapes a database string for literal insertion. This is not needed\nfor binding strings in prepared statements.\n\nGenerally, database strings are inserted into queries enclosed in\nsingle quotes ('). If user input has a single quote in it, the\nquote needs to be escaped. This function ensures that any unsafe\ncharacters are safely escaped according to the database engine and\nthe database's character set.\n\nNOTE: SourceMod only guarantees properly escaped strings when the query\nencloses the string in ''. While drivers tend to allow \" instead, the string\nmay be not be escaped (for example, on SQLite)!"},{"tag":"param:database","text":"A database Handle."},{"tag":"param:string","text":"String to quote."},{"tag":"param:buffer","text":"Buffer to store quoted string in."},{"tag":"param:maxlength","text":"Maximum length of the buffer."},{"tag":"param:written","text":"Optionally returns the number of bytes written."},{"tag":"return","text":"True on success, false if buffer is not big enough.\nThe buffer must be at least 2*strlen(string)+1."},{"tag":"error","text":"Invalid database or statement Handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"const char[]","name":"string","decl":"const char[] string","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"int&","name":"written","decl":"int& written","default":"0"}]},"SQL_ConnectEx":{"name":"SQL_ConnectEx","refLine":104,"docStart":2573,"docEnd":3280,"docs":{"brief":"Creates an SQL connection from specific parameters.","tags":[{"tag":"","text":"Creates an SQL connection from specific parameters."},{"tag":"param:driver","text":"Driver Handle, or INVALID_HANDLE for default."},{"tag":"param:host","text":"Host name."},{"tag":"param:user","text":"User name."},{"tag":"param:pass","text":"User password."},{"tag":"param:database","text":"Database name."},{"tag":"param:error","text":"Error buffer."},{"tag":"param:maxlength","text":"Maximum length of the error buffer."},{"tag":"param:persistent","text":"True to re-use a previous persistent connection\nif possible, false otherwise."},{"tag":"param:port","text":"Optional port to specify."},{"tag":"param:maxTimeout","text":"Maximum timeout in seconds if applicable."},{"tag":"return","text":"A database connection Handle, or INVALID_HANDLE on failure."},{"tag":"error","text":"Invalid driver Handle other than INVALID_HANDLE."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"Handle","arguments":[{"type":"Handle","name":"driver","decl":"Handle driver","default":null},{"type":"const char[]","name":"host","decl":"const char[] host","default":null},{"type":"const char[]","name":"user","decl":"const char[] user","default":null},{"type":"const char[]","name":"pass","decl":"const char[] pass","default":null},{"type":"const char[]","name":"database","decl":"const char[] database","default":null},{"type":"char[]","name":"error","decl":"char[] error","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"bool","name":"persistent","decl":"bool persistent","default":"true"},{"type":"int","name":"port","decl":"int port","default":"0"},{"type":"int","name":"maxTimeout","decl":"int maxTimeout","default":"0"}]},"SQL_GetDriverIdent":{"name":"SQL_GetDriverIdent","refLine":549,"docStart":22074,"docEnd":22416,"docs":{"brief":"Retrieves a driver's identification string.\n\nExample: \"mysql\", \"sqlite\"","tags":[{"tag":"","text":"Retrieves a driver's identification string.\n\nExample: \"mysql\", \"sqlite\""},{"tag":"param:driver","text":"Driver Handle, or INVALID_HANDLE for the default driver."},{"tag":"param:ident","text":"Identification string buffer."},{"tag":"param:maxlength","text":"Maximum length of the buffer."},{"tag":"error","text":"Invalid Handle other than INVALID_HANDLE."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"driver","decl":"Handle driver","default":null},{"type":"char[]","name":"ident","decl":"char[] ident","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SQL_GetAffectedRows":{"name":"SQL_GetAffectedRows","refLine":156,"docStart":4714,"docEnd":4947,"docs":{"brief":"Returns the number of affected rows from the last query.","tags":[{"tag":"","text":"Returns the number of affected rows from the last query."},{"tag":"param:hndl","text":"A database OR statement Handle."},{"tag":"return","text":"Number of rows affected by the last query."},{"tag":"error","text":"Invalid database or statement Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":null}]},"SQL_GetInsertId":{"name":"SQL_GetInsertId","refLine":165,"docStart":4993,"docEnd":5192,"docs":{"brief":"Returns the last query's insertion id.","tags":[{"tag":"","text":"Returns the last query's insertion id."},{"tag":"param:hndl","text":"A database OR statement Handle."},{"tag":"return","text":"Last query's insertion id."},{"tag":"error","text":"Invalid database or statement Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"hndl","decl":"Handle hndl","default":null}]},"SQL_GetRowCount":{"name":"SQL_GetRowCount","refLine":265,"docStart":8726,"docEnd":8882,"docs":{"brief":"Retrieves the number of rows in the last result set.","tags":[{"tag":"","text":"Retrieves the number of rows in the last result set."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"error","text":"Invalid query Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null}]},"SQL_FetchRow":{"name":"SQL_FetchRow","refLine":302,"docStart":9754,"docEnd":10157,"docs":{"brief":"Fetches a row from the current result set. This must be\nsuccessfully called before any results are fetched.\n\nIf this function fails, SQL_MoreResults() can be used to\ntell if there was an error or the result set is finished.","tags":[{"tag":"","text":"Fetches a row from the current result set. This must be\nsuccessfully called before any results are fetched.\n\nIf this function fails, SQL_MoreResults() can be used to\ntell if there was an error or the result set is finished."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"return","text":"True if a row was fetched, false otherwise."},{"tag":"error","text":"Invalid query Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null}]},"SQL_FieldNumToName":{"name":"SQL_FieldNumToName","refLine":747,"docStart":29268,"docEnd":29606,"docs":{"brief":"Retrieves the name of a field by index.","tags":[{"tag":"","text":"Retrieves the name of a field by index."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"param:field","text":"Field number (starting from 0)."},{"tag":"param:name","text":"Name buffer."},{"tag":"param:maxlength","text":"Maximum length of the name buffer."},{"tag":"error","text":"Invalid query Handle, invalid field index, or\nno current result set."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null},{"type":"int","name":"field","decl":"int field","default":null},{"type":"char[]","name":"name","decl":"char[] name","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SQL_BindParamFloat":{"name":"SQL_BindParamFloat","refLine":886,"docStart":34713,"docEnd":35040,"docs":{"brief":"Binds a parameter in a prepared statement to a given float value.","tags":[{"tag":"","text":"Binds a parameter in a prepared statement to a given float value."},{"tag":"param:statement","text":"A statement (prepared query) Handle."},{"tag":"param:param","text":"The parameter index (starting from 0)."},{"tag":"param:value","text":"The float number to bind."},{"tag":"error","text":"Invalid statement Handle or parameter index, or\nSQL error."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"statement","decl":"Handle statement","default":null},{"type":"int","name":"param","decl":"int param","default":null},{"type":"float","name":"value","decl":"float value","default":null}]},"SQL_SetCharset":{"name":"SQL_SetCharset","refLine":574,"docStart":22911,"docEnd":23266,"docs":{"brief":"Sets the character set of the current connection.\nLike SET NAMES .. in mysql, but stays after connection problems.\n\nExample: \"utf8\", \"latin1\"","tags":[{"tag":"","text":"Sets the character set of the current connection.\nLike SET NAMES .. in mysql, but stays after connection problems.\n\nExample: \"utf8\", \"latin1\""},{"tag":"param:database","text":"Database Handle."},{"tag":"param:characterset","text":"The character set string to change to."},{"tag":"return","text":"True, if character set was changed, false otherwise."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"const char[]","name":"charset","decl":"const char[] charset","default":null}]},"SQL_FastQuery":{"name":"SQL_FastQuery","refLine":659,"docStart":25926,"docEnd":26378,"docs":{"brief":"Executes a query and ignores the result set.","tags":[{"tag":"","text":"Executes a query and ignores the result set."},{"tag":"param:database","text":"A database Handle."},{"tag":"param:query","text":"Query string."},{"tag":"param:len","text":"Optional parameter to specify the query length, in\nbytes. This can be used to send binary queries that\nhave a premature terminator."},{"tag":"return","text":"True if query succeeded, false otherwise. Use\nSQL_GetError to find the last error."},{"tag":"error","text":"Invalid database Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"const char[]","name":"query","decl":"const char[] query","default":null},{"type":"int","name":"len","decl":"int len","default":"-1"}]},"SQL_FetchMoreResults":{"name":"SQL_FetchMoreResults","refLine":246,"docStart":7846,"docEnd":8298,"docs":{"brief":"Advances to the next set of results.\n\nIn some SQL implementations, multiple result sets can exist on one query.\nThis is possible in MySQL with simple queries when executing a CALL\nquery. If this is the case, all result sets must be processed before\nanother query is made.","tags":[{"tag":"","text":"Advances to the next set of results.\n\nIn some SQL implementations, multiple result sets can exist on one query.\nThis is possible in MySQL with simple queries when executing a CALL\nquery. If this is the case, all result sets must be processed before\nanother query is made."},{"tag":"param:query","text":"A query Handle."},{"tag":"return","text":"True if there was another result set, false otherwise."},{"tag":"error","text":"Invalid query Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null}]},"SQL_Connect":{"name":"SQL_Connect","refLine":418,"docStart":17382,"docEnd":17769,"docs":{"brief":"Creates an SQL connection from a named configuration.","tags":[{"tag":"","text":"Creates an SQL connection from a named configuration."},{"tag":"param:confname","text":"Named configuration."},{"tag":"param:persistent","text":"True to re-use a previous persistent connection if\npossible, false otherwise."},{"tag":"param:error","text":"Error buffer."},{"tag":"param:maxlength","text":"Maximum length of the error buffer."},{"tag":"return","text":"A database connection Handle, or INVALID_HANDLE on failure."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"Database","arguments":[{"type":"const char[]","name":"confname","decl":"const char[] confname","default":null},{"type":"bool","name":"persistent","decl":"bool persistent","default":null},{"type":"char[]","name":"error","decl":"char[] error","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SQL_ExecuteTransaction":{"name":"SQL_ExecuteTransaction","refLine":1037,"docStart":40675,"docEnd":41263,"docs":{"brief":"Sends a transaction to the database thread. The transaction handle is\nautomatically closed. When the transaction completes, the optional\ncallback is invoked.","tags":[{"tag":"","text":"Sends a transaction to the database thread. The transaction handle is\nautomatically closed. When the transaction completes, the optional\ncallback is invoked."},{"tag":"param:db","text":"A database handle."},{"tag":"param:txn","text":"A transaction handle."},{"tag":"param:onSuccess","text":"An optional callback to receive a successful transaction."},{"tag":"param:onError","text":"An optional callback to receive an error message."},{"tag":"param:data","text":"An optional value to pass to callbacks."},{"tag":"param:prio","text":"Priority queue to use."},{"tag":"error","text":"An invalid handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"db","decl":"Handle db","default":null},{"type":"Transaction","name":"txn","decl":"Transaction txn","default":null},{"type":"SQLTxnSuccess","name":"onSuccess","decl":"SQLTxnSuccess onSuccess","default":"INVALID_FUNCTION"},{"type":"SQLTxnFailure","name":"onError","decl":"SQLTxnFailure onError","default":"INVALID_FUNCTION"},{"type":"any","name":"data","decl":"any data","default":"0"},{"type":"DBPriority","name":"priority","decl":"DBPriority priority","default":"DBPrio_Normal"}]},"SQL_ReadDriver":{"name":"SQL_ReadDriver","refLine":560,"docStart":23196,"docEnd":23464,"docs":{"brief":"Reads the driver of an opened database.","tags":[{"tag":"","text":"Reads the driver of an opened database."},{"tag":"param:database","text":"Database Handle."},{"tag":"param:ident","text":"Option buffer to store the identification string."},{"tag":"param:ident_length","text":"Maximum length of the buffer."},{"tag":"return","text":"Driver Handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"c6f751bb67ddc7e10dffc30b88745d9706b34177","count":6460,"time":1572512030}},"kind":"native","returnType":"DBDriver","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"char[]","name":"ident","decl":"char[] ident","default":"\"\""},{"type":"int","name":"ident_length","decl":"int ident_length","default":"0"}]},"SQL_Query":{"name":"SQL_Query","refLine":674,"docStart":26459,"docEnd":26971,"docs":{"brief":"Executes a simple query and returns a new query Handle for\nreceiving the results.","tags":[{"tag":"","text":"Executes a simple query and returns a new query Handle for\nreceiving the results."},{"tag":"param:database","text":"A database Handle."},{"tag":"param:query","text":"Query string."},{"tag":"param:len","text":"Optional parameter to specify the query length, in\nbytes. This can be used to send binary queries that\nhave a premature terminator."},{"tag":"return","text":"A new Query Handle on success, INVALID_HANDLE\notherwise. The Handle must be freed with CloseHandle()."},{"tag":"error","text":"Invalid database Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"DBResultSet","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"const char[]","name":"query","decl":"const char[] query","default":null},{"type":"int","name":"len","decl":"int len","default":"-1"}]},"SQL_BindParamString":{"name":"SQL_BindParamString","refLine":901,"docStart":35119,"docEnd":35665,"docs":{"brief":"Binds a parameter in a prepared statement to a given string value.","tags":[{"tag":"","text":"Binds a parameter in a prepared statement to a given string value."},{"tag":"param:statement","text":"A statement (prepared query) Handle."},{"tag":"param:param","text":"The parameter index (starting from 0)."},{"tag":"param:value","text":"The string to bind."},{"tag":"param:copy","text":"Whether or not SourceMod should copy the value\nlocally if necessary. If the string contents\nwon't change before calling SQL_Execute(), this\ncan be set to false for optimization."},{"tag":"error","text":"Invalid statement Handle or parameter index, or\nSQL error."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"statement","decl":"Handle statement","default":null},{"type":"int","name":"param","decl":"int param","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null},{"type":"bool","name":"copy","decl":"bool copy","default":null}]},"SQL_ConnectCustom":{"name":"SQL_ConnectCustom","refLine":456,"docStart":18421,"docEnd":19465,"docs":{"brief":"Connects to a database using key value pairs containing the database info.\nThe key/value pairs should match what would be in databases.cfg.\n\nI.e. \"driver\" should be \"default\" or a driver name (or ommitted for\nthe default). For SQLite, only the \"database\" parameter is needed in addition.\nFor drivers which require external connections, more of the parameters may be\nneeded.\n\nIn general it is discouraged to use this function. Connections should go through\ndatabases.cfg for greatest flexibility on behalf of users.","tags":[{"tag":"","text":"Connects to a database using key value pairs containing the database info.\nThe key/value pairs should match what would be in databases.cfg.\n\nI.e. \"driver\" should be \"default\" or a driver name (or ommitted for\nthe default). For SQLite, only the \"database\" parameter is needed in addition.\nFor drivers which require external connections, more of the parameters may be\nneeded.\n\nIn general it is discouraged to use this function. Connections should go through\ndatabases.cfg for greatest flexibility on behalf of users."},{"tag":"param:keyvalues","text":"Key/value pairs from a KeyValues handle, describing the connection."},{"tag":"param:error","text":"Error buffer."},{"tag":"param:maxlength","text":"Maximum length of the error buffer."},{"tag":"param:persistent","text":"True to re-use a previous persistent connection if\npossible, false otherwise."},{"tag":"return","text":"A database connection Handle, or INVALID_HANDLE on failure.\nOn failure the error buffer will be filled with a message."},{"tag":"error","text":"Invalid KeyValues handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"Database","arguments":[{"type":"Handle","name":"keyvalues","decl":"Handle keyvalues","default":null},{"type":"char[]","name":"error","decl":"char[] error","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"bool","name":"persistent","decl":"bool persistent","default":null}]},"SQL_GetDriver":{"name":"SQL_GetDriver","refLine":550,"docStart":22764,"docEnd":23138,"docs":{"brief":"Returns a driver Handle from a name string.\n\nIf the driver is not found, SourceMod will attempt\nto load an extension named dbi.<name>.ext.[dll|so].","tags":[{"tag":"","text":"Returns a driver Handle from a name string.\n\nIf the driver is not found, SourceMod will attempt\nto load an extension named dbi.<name>.ext.[dll|so]."},{"tag":"param:name","text":"Driver identification string, or an empty\nstring to return the default driver."},{"tag":"return","text":"Driver Handle, or INVALID_HANDLE on failure."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"c6f751bb67ddc7e10dffc30b88745d9706b34177","count":6460,"time":1572512030}},"kind":"native","returnType":"DBDriver","arguments":[{"type":"const char[]","name":"name","decl":"const char[] name","default":"\"\""}]},"SQL_FieldNameToNum":{"name":"SQL_FieldNameToNum","refLine":289,"docStart":9356,"docEnd":9674,"docs":{"brief":"Retrieves a field index by name.","tags":[{"tag":"","text":"Retrieves a field index by name."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"param:name","text":"Name of the field (case sensitive)."},{"tag":"param:field","text":"Variable to store field index in."},{"tag":"return","text":"True if found, false if not found."},{"tag":"error","text":"Invalid query Handle or no current result set."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":null},{"type":"int&","name":"field","decl":"int& field","default":null}]},"SQL_GetDriverProduct":{"name":"SQL_GetDriverProduct","refLine":562,"docStart":22497,"docEnd":22826,"docs":{"brief":"Retrieves a driver's product string.\n\nExample: \"MySQL\", \"SQLite\"","tags":[{"tag":"","text":"Retrieves a driver's product string.\n\nExample: \"MySQL\", \"SQLite\""},{"tag":"param:driver","text":"Driver Handle, or INVALID_HANDLE for the default driver."},{"tag":"param:product","text":"Product string buffer."},{"tag":"param:maxlength","text":"Maximum length of the buffer."},{"tag":"error","text":"Invalid Handle other than INVALID_HANDLE."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"driver","decl":"Handle driver","default":null},{"type":"char[]","name":"product","decl":"char[] product","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SQL_PrepareQuery":{"name":"SQL_PrepareQuery","refLine":692,"docStart":27055,"docEnd":27754,"docs":{"brief":"Creates a new prepared statement query. Prepared statements can\nbe executed any number of times. They can also have placeholder\nparameters, similar to variables, which can be bound safely and\nsecurely (for example, you do not need to quote bound strings).\n\nStatement handles will work in any function that accepts a Query handle.","tags":[{"tag":"","text":"Creates a new prepared statement query. Prepared statements can\nbe executed any number of times. They can also have placeholder\nparameters, similar to variables, which can be bound safely and\nsecurely (for example, you do not need to quote bound strings).\n\nStatement handles will work in any function that accepts a Query handle."},{"tag":"param:database","text":"A database Handle."},{"tag":"param:query","text":"Query string."},{"tag":"param:error","text":"Error buffer."},{"tag":"param:maxlength","text":"Maximum size of the error buffer."},{"tag":"return","text":"A new statement Handle on success, INVALID_HANDLE\notherwise. The Handle must be freed with CloseHandle()."},{"tag":"error","text":"Invalid database Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"DBStatement","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"const char[]","name":"query","decl":"const char[] query","default":null},{"type":"char[]","name":"error","decl":"char[] error","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SQL_FetchString":{"name":"SQL_FetchString","refLine":337,"docStart":10710,"docEnd":11397,"docs":{"brief":"Fetches a string from a field in the current row of a result set.\nIf the result is NULL, an empty string will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull().","tags":[{"tag":"","text":"Fetches a string from a field in the current row of a result set.\nIf the result is NULL, an empty string will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull()."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"param:buffer","text":"String buffer."},{"tag":"param:maxlength","text":"Maximum size of the string buffer."},{"tag":"param:result","text":"Optional variable to store the status of the return value."},{"tag":"return","text":"Number of bytes written."},{"tag":"error","text":"Invalid query Handle or field index, invalid\ntype conversion requested from the database,\nor no current result set."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null},{"type":"int","name":"field","decl":"int field","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"DBResult&","name":"result","decl":"DBResult& result","default":"DBVal_Error"}]},"SQL_BindParamInt":{"name":"SQL_BindParamInt","refLine":875,"docStart":34202,"docEnd":34619,"docs":{"brief":"Binds a parameter in a prepared statement to a given integer value.","tags":[{"tag":"","text":"Binds a parameter in a prepared statement to a given integer value."},{"tag":"param:statement","text":"A statement (prepared query) Handle."},{"tag":"param:param","text":"The parameter index (starting from 0)."},{"tag":"param:number","text":"The number to bind."},{"tag":"param:signed","text":"True to bind the number as signed, false to\nbind it as unsigned."},{"tag":"error","text":"Invalid statement Handle or parameter index, or\nSQL error."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"statement","decl":"Handle statement","default":null},{"type":"int","name":"param","decl":"int param","default":null},{"type":"int","name":"number","decl":"int number","default":null},{"type":"bool","name":"signed","decl":"bool signed","default":"true"}]},"SQL_Rewind":{"name":"SQL_Rewind","refLine":320,"docStart":10443,"docEnd":10667,"docs":{"brief":"Rewinds a result set back to the first result.","tags":[{"tag":"","text":"Rewinds a result set back to the first result."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid query Handle or no current result set."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null}]},"SQL_IsSameConnection":{"name":"SQL_IsSameConnection","refLine":959,"docStart":37539,"docEnd":37846,"docs":{"brief":"Tells whether two database handles both point to the same database\nconnection.","tags":[{"tag":"","text":"Tells whether two database handles both point to the same database\nconnection."},{"tag":"param:hndl1","text":"First database Handle."},{"tag":"param:hndl2","text":"Second database Handle."},{"tag":"return","text":"True if the Handles point to the same\nconnection, false otherwise."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"hndl1","decl":"Handle hndl1","default":null},{"type":"Handle","name":"hndl2","decl":"Handle hndl2","default":null}]},"SQL_AddQuery":{"name":"SQL_AddQuery","refLine":1014,"docStart":39737,"docEnd":40077,"docs":{"brief":"Adds a query to a transaction object.","tags":[{"tag":"","text":"Adds a query to a transaction object."},{"tag":"param:txn","text":"A transaction handle."},{"tag":"param:query","text":"Query string."},{"tag":"param:data","text":"Extra data value to pass to the final callback."},{"tag":"return","text":"The index of the query in the transaction's query list."},{"tag":"error","text":"Invalid transaction handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"int","arguments":[{"type":"Transaction","name":"txn","decl":"Transaction txn","default":null},{"type":"const char[]","name":"query","decl":"const char[] query","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"SQL_IsFieldNull":{"name":"SQL_IsFieldNull","refLine":379,"docStart":12839,"docEnd":13231,"docs":{"brief":"Returns whether a field's data in the current row of a result set is\nNULL or not. NULL is an SQL type which means \"no data.\"","tags":[{"tag":"","text":"Returns whether a field's data in the current row of a result set is\nNULL or not. NULL is an SQL type which means \"no data.\""},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"return","text":"True if data is NULL, false otherwise."},{"tag":"error","text":"Invalid query Handle or field index, or no\ncurrent result set."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null},{"type":"int","name":"field","decl":"int field","default":null}]},"SQL_UnlockDatabase":{"name":"SQL_UnlockDatabase","refLine":937,"docStart":36764,"docEnd":36916,"docs":{"brief":"Unlocks a database so threading operations may continue.","tags":[{"tag":"","text":"Unlocks a database so threading operations may continue."},{"tag":"param:database","text":"A database Handle."},{"tag":"error","text":"Invalid database Handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null}]},"SQL_DefConnect":{"name":"SQL_DefConnect","refLine":430,"docStart":17872,"docEnd":18266,"docs":{"brief":"Creates a default SQL connection.","tags":[{"tag":"","text":"Creates a default SQL connection."},{"tag":"param:error","text":"Error buffer."},{"tag":"param:maxlength","text":"Maximum length of the error buffer."},{"tag":"param:persistent","text":"True to re-use a previous persistent connection\nif possible, false otherwise."},{"tag":"return","text":"A database connection Handle, or INVALID_HANDLE on failure.\nOn failure the error buffer will be filled with a message."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"stock","returnType":"Database","arguments":[{"type":"char[]","name":"error","decl":"char[] error","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"bool","name":"persistent","decl":"bool persistent","default":"true"}]},"SQL_CreateTransaction":{"name":"SQL_CreateTransaction","refLine":1003,"docStart":39467,"docEnd":39688,"docs":{"brief":"Creates a new transaction object. A transaction object is a list of queries\nthat can be sent to the database thread and executed as a single transaction.","tags":[{"tag":"","text":"Creates a new transaction object. A transaction object is a list of queries\nthat can be sent to the database thread and executed as a single transaction."},{"tag":"return","text":"A transaction handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"Transaction","arguments":[]},"SQL_TQuery":{"name":"SQL_TQuery","refLine":995,"docStart":38564,"docEnd":39335,"docs":{"brief":"Executes a simple query via a thread. The query Handle is passed through\nthe callback.\n\nThe database Handle returned through the callback is always a new Handle,\nand if necessary, SQL_IsSameConnection() should be used to test against\nother conenctions.\n\nThe query Handle returned through the callback is temporary and destroyed\nat the end of the callback. If you need to hold onto it, use CloneHandle().","tags":[{"tag":"","text":"Executes a simple query via a thread. The query Handle is passed through\nthe callback.\n\nThe database Handle returned through the callback is always a new Handle,\nand if necessary, SQL_IsSameConnection() should be used to test against\nother conenctions.\n\nThe query Handle returned through the callback is temporary and destroyed\nat the end of the callback. If you need to hold onto it, use CloneHandle()."},{"tag":"param:database","text":"A database Handle."},{"tag":"param:callback","text":"Callback; database is in \"owner\" and the query Handle\nis passed in \"hndl\"."},{"tag":"param:query","text":"Query string."},{"tag":"param:data","text":"Extra data value to pass to the callback."},{"tag":"param:prio","text":"Priority queue to use."},{"tag":"error","text":"Invalid database Handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"SQLTCallback","name":"callback","decl":"SQLTCallback callback","default":null},{"type":"const char[]","name":"query","decl":"const char[] query","default":null},{"type":"any","name":"data","decl":"any data","default":"0"},{"type":"DBPriority","name":"prio","decl":"DBPriority prio","default":"DBPrio_Normal"}]},"SQLite_UseDatabase":{"name":"SQLite_UseDatabase","refLine":476,"docStart":19604,"docEnd":20352,"docs":{"brief":"Grabs a handle to an SQLite database, creating one if it does not exist.\n\nUnless there are extenuating circumstances, you should consider using \"sourcemod-local\" as the\ndatabase name. This provides some unification between plugins on behalf of users.\n\nAs a precaution, you should always create some sort of unique prefix to your table names so\nthere are no conflicts, and you should never drop or modify tables that you do not own.","tags":[{"tag":"","text":"Grabs a handle to an SQLite database, creating one if it does not exist.\n\nUnless there are extenuating circumstances, you should consider using \"sourcemod-local\" as the\ndatabase name. This provides some unification between plugins on behalf of users.\n\nAs a precaution, you should always create some sort of unique prefix to your table names so\nthere are no conflicts, and you should never drop or modify tables that you do not own."},{"tag":"param:database","text":"Database name."},{"tag":"param:error","text":"Error buffer."},{"tag":"param:maxlength","text":"Maximum length of the error buffer."},{"tag":"return","text":"A database connection Handle, or INVALID_HANDLE on failure.\nOn failure the error buffer will be filled with a message."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"stock","returnType":"Database","arguments":[{"type":"const char[]","name":"database","decl":"const char[] database","default":null},{"type":"char[]","name":"error","decl":"char[] error","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SQL_FetchSize":{"name":"SQL_FetchSize","refLine":393,"docStart":13286,"docEnd":13779,"docs":{"brief":"Returns the length of a field's data in the current row of a result\nset. This only needs to be called for strings to determine how many\nbytes to use. Note that the return value does not include the null\nterminator.","tags":[{"tag":"","text":"Returns the length of a field's data in the current row of a result\nset. This only needs to be called for strings to determine how many\nbytes to use. Note that the return value does not include the null\nterminator."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"return","text":"Number of bytes for the field's data size."},{"tag":"error","text":"Invalid query Handle or field index or no\ncurrent result set."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null},{"type":"int","name":"field","decl":"int field","default":null}]},"SQL_LockDatabase":{"name":"SQL_LockDatabase","refLine":929,"docStart":36049,"docEnd":36712,"docs":{"brief":"Locks a database so threading operations will not interrupt.\n\nIf you are using a database Handle for both threading and non-threading,\nthis MUST be called before doing any set of non-threading DB operations.\nOtherwise you risk corrupting the database driver's memory or network\nconnection.\n\nLeaving a lock on a database and then executing a threaded query results\nin a dead lock! Make sure to call SQL_UnlockDatabase()!\n\nIf the lock cannot be acquired, the main thread will pause until the\nthreaded operation has concluded.","tags":[{"tag":"","text":"Locks a database so threading operations will not interrupt.\n\nIf you are using a database Handle for both threading and non-threading,\nthis MUST be called before doing any set of non-threading DB operations.\nOtherwise you risk corrupting the database driver's memory or network\nconnection.\n\nLeaving a lock on a database and then executing a threaded query results\nin a dead lock! Make sure to call SQL_UnlockDatabase()!\n\nIf the lock cannot be acquired, the main thread will pause until the\nthreaded operation has concluded."},{"tag":"param:database","text":"A database Handle."},{"tag":"error","text":"Invalid database Handle."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null}]},"SQL_MoreRows":{"name":"SQL_MoreRows","refLine":311,"docStart":10202,"docEnd":10398,"docs":{"brief":"Returns if there are more rows.","tags":[{"tag":"","text":"Returns if there are more rows."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"return","text":"True if there are more rows, false otherwise."},{"tag":"error","text":"Invalid query Handle."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"query","decl":"Handle query","default":null}]},"SQL_FormatQuery":{"name":"SQL_FormatQuery","refLine":665,"docStart":26578,"docEnd":27042,"docs":{"brief":"Formats a string according to the SourceMod format rules (see documentation).\nAll format specifiers are escaped (see SQL_EscapeString) unless the '!' flag is used.","tags":[{"tag":"","text":"Formats a string according to the SourceMod format rules (see documentation).\nAll format specifiers are escaped (see SQL_EscapeString) unless the '!' flag is used."},{"tag":"param:database","text":"A database Handle."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."},{"tag":"return","text":"Number of cells written."}]},"metadata":{"created":{"hash":"700ec92a9a9cc10b52a426808641eb7aff270044","count":5856,"time":1455548716},"last_updated":{"hash":"700ec92a9a9cc10b52a426808641eb7aff270044","count":5856,"time":1455548716}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"database","decl":"Handle database","default":null},{"type":"const char[]","name":"buffer","decl":"const char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"SQL_TConnect":{"name":"SQL_TConnect","refLine":974,"docStart":37913,"docEnd":38469,"docs":{"brief":"Connects to a database via a thread. This can be used instead of\nSQL_Connect() if you wish for non-blocking functionality.\n\nIt is not necessary to use this to use threaded queries. However, if you\ndon't (or you mix threaded/non-threaded queries), you should see\nSQL_LockDatabase().","tags":[{"tag":"","text":"Connects to a database via a thread. This can be used instead of\nSQL_Connect() if you wish for non-blocking functionality.\n\nIt is not necessary to use this to use threaded queries. However, if you\ndon't (or you mix threaded/non-threaded queries), you should see\nSQL_LockDatabase()."},{"tag":"param:callback","text":"Callback; new Handle will be in hndl, owner is the driver.\nIf no driver was found, the owner is INVALID_HANDLE."},{"tag":"param:name","text":"Database name."},{"tag":"param:data","text":"Extra data value to pass to the callback."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"SQLTCallback","name":"callback","decl":"SQLTCallback callback","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":"\"default\""},{"type":"any","name":"data","decl":"any data","default":"0"}]}},"methodmaps":{"DBDriver":{"name":"DBDriver","refLine":72,"docStart":2360,"docEnd":2470,"docs":{"brief":"A Driver represents a database backend, currently MySQL or SQLite.\n\nDriver handles cannot be closed.","tags":[{"tag":"","text":"A Driver represents a database backend, currently MySQL or SQLite.\n\nDriver handles cannot be closed."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"parent":"Handle","methods":{"GetIdentifier":{"name":"GetIdentifier","refLine":91,"docStart":2877,"docEnd":3077,"docs":{"brief":"Retrieves a driver's identification string.\n\nExample: \"mysql\", \"sqlite\"","tags":[{"tag":"","text":"Retrieves a driver's identification string.\n\nExample: \"mysql\", \"sqlite\""},{"tag":"param:ident","text":"Identification string buffer."},{"tag":"param:maxlength","text":"Maximum length of the buffer."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"char[]","name":"ident","decl":"char[] ident","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"Find":{"name":"Find","refLine":83,"docStart":2505,"docEnd":2810,"docs":{"brief":"Finds the driver associated with a name.\n\nSupported driver strings:\nmysql\nsqlite","tags":[{"tag":"","text":"Finds the driver associated with a name.\n\nSupported driver strings:\nmysql\nsqlite"},{"tag":"param:name","text":"Driver identification string, or an empty string\nto return the default driver."},{"tag":"return","text":"Driver handle, or null on failure."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"DBDriver","arguments":[{"type":"const char[]","name":"name","decl":"const char[] name","default":"\"\""}]},"GetProduct":{"name":"GetProduct","refLine":99,"docStart":3147,"docEnd":3333,"docs":{"brief":"Retrieves a driver's product string.\n\nExample: \"MySQL\", \"SQLite\"","tags":[{"tag":"","text":"Retrieves a driver's product string.\n\nExample: \"MySQL\", \"SQLite\""},{"tag":"param:product","text":"Product string buffer."},{"tag":"param:maxlength","text":"Maximum length of the buffer."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"char[]","name":"product","decl":"char[] product","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]}},"properties":{}},"Database":{"name":"Database","refLine":339,"docStart":14001,"docEnd":14136,"docs":{"brief":"A Database represents a live connection to a database, either over the\nwire, through a unix domain socket, or over an open file.","tags":[{"tag":"","text":"A Database represents a live connection to a database, either over the\nwire, through a unix domain socket, or over an open file."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"parent":"Handle","methods":{"Format":{"name":"Format","refLine":391,"docStart":16209,"docEnd":16630,"docs":{"brief":"Formats a string according to the SourceMod format rules (see documentation).\nAll format specifiers are escaped (see SQL_EscapeString) unless the '!' flag is used.","tags":[{"tag":"","text":"Formats a string according to the SourceMod format rules (see documentation).\nAll format specifiers are escaped (see SQL_EscapeString) unless the '!' flag is used."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:format","text":"Formatting rules."},{"tag":"param:...","text":"Variable number of format parameters."},{"tag":"return","text":"Number of cells written."}]},"metadata":{"created":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"buffer","decl":"const char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"format","decl":"const char[] format","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"IsSameConnection":{"name":"IsSameConnection","refLine":394,"docStart":16729,"docEnd":16802,"docs":{"brief":"Returns whether a database is the same connection as another database.","tags":[{"tag":"","text":"Returns whether a database is the same connection as another database."}]},"metadata":{"created":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"kind":"native","returnType":"bool","arguments":[{"type":"Database","name":"other","decl":"Database other","default":null}]},"Connect":{"name":"Connect","refLine":346,"docStart":14171,"docEnd":14460,"docs":{"brief":"Connects to a database asynchronously, so the game thread is not blocked.","tags":[{"tag":"","text":"Connects to a database asynchronously, so the game thread is not blocked."},{"tag":"param:callback","text":"Callback. If no driver was found, the owner is null."},{"tag":"param:name","text":"Database configuration name."},{"tag":"param:data","text":"Extra data value to pass to the callback."}]},"metadata":{"created":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"kind":"native","returnType":"void","arguments":[{"type":"SQLConnectCallback","name":"callback","decl":"SQLConnectCallback callback","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":"\"default\""},{"type":"any","name":"data","decl":"any data","default":"0"}]},"Execute":{"name":"Execute","refLine":423,"docStart":17633,"docEnd":18131,"docs":{"brief":"Sends a transaction to the database thread. The transaction handle is\nautomatically closed. When the transaction completes, the optional\ncallback is invoked.","tags":[{"tag":"","text":"Sends a transaction to the database thread. The transaction handle is\nautomatically closed. When the transaction completes, the optional\ncallback is invoked."},{"tag":"param:txn","text":"A transaction handle."},{"tag":"param:onSuccess","text":"An optional callback to receive a successful transaction."},{"tag":"param:onError","text":"An optional callback to receive an error message."},{"tag":"param:data","text":"An optional value to pass to callbacks."},{"tag":"param:prio","text":"Priority queue to use."}]},"metadata":{"created":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"kind":"native","returnType":"void","arguments":[{"type":"Transaction","name":"txn","decl":"Transaction txn","default":null},{"type":"SQLTxnSuccess","name":"onSuccess","decl":"SQLTxnSuccess onSuccess","default":"INVALID_FUNCTION"},{"type":"SQLTxnFailure","name":"onError","decl":"SQLTxnFailure onError","default":"INVALID_FUNCTION"},{"type":"any","name":"data","decl":"any data","default":"0"},{"type":"DBPriority","name":"priority","decl":"DBPriority priority","default":"DBPrio_Normal"}]},"SetCharset":{"name":"SetCharset","refLine":360,"docStart":14685,"docEnd":14986,"docs":{"brief":"Sets the character set of the connection.\nLike SET NAMES .. in mysql, but stays after connection problems.\n\nExample: \"utf8\", \"latin1\"","tags":[{"tag":"","text":"Sets the character set of the connection.\nLike SET NAMES .. in mysql, but stays after connection problems.\n\nExample: \"utf8\", \"latin1\""},{"tag":"param:characterset","text":"The character set string to change to."},{"tag":"return","text":"True, if character set was changed, false otherwise."}]},"metadata":{"created":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"charset","decl":"const char[] charset","default":null}]},"Escape":{"name":"Escape","refLine":381,"docStart":15046,"docEnd":16108,"docs":{"brief":"Escapes a database string for literal insertion. This is not needed\nfor binding strings in prepared statements.\n\nGenerally, database strings are inserted into queries enclosed in\nsingle quotes ('). If user input has a single quote in it, the\nquote needs to be escaped. This function ensures that any unsafe\ncharacters are safely escaped according to the database engine and\nthe database's character set.\n\nNOTE: SourceMod only guarantees properly escaped strings when the query\nencloses the string in ''. While drivers tend to allow \" instead, the string\nmay be not be escaped (for example, on SQLite)!","tags":[{"tag":"","text":"Escapes a database string for literal insertion. This is not needed\nfor binding strings in prepared statements.\n\nGenerally, database strings are inserted into queries enclosed in\nsingle quotes ('). If user input has a single quote in it, the\nquote needs to be escaped. This function ensures that any unsafe\ncharacters are safely escaped according to the database engine and\nthe database's character set.\n\nNOTE: SourceMod only guarantees properly escaped strings when the query\nencloses the string in ''. While drivers tend to allow \" instead, the string\nmay be not be escaped (for example, on SQLite)!"},{"tag":"param:string","text":"String to quote."},{"tag":"param:buffer","text":"Buffer to store quoted string in."},{"tag":"param:maxlength","text":"Maximum length of the buffer."},{"tag":"param:written","text":"Optionally returns the number of bytes written."},{"tag":"return","text":"True on success, false if buffer is not big enough.\nThe buffer must be at least 2*strlen(string)+1."}]},"metadata":{"created":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"string","decl":"const char[] string","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"int&","name":"written","decl":"int& written","default":"0"}]},"Query":{"name":"Query","refLine":410,"docStart":16862,"docEnd":17452,"docs":{"brief":"Executes a query via a thread. The result handle is passed through the\ncallback.\n\nThe database handle returned through the callback is always a new Handle,\nand if necessary, IsSameConnection() should be used to test against other\nconnections.\n\nThe result handle returned through the callback is temporary and destroyed\nat the end of the callback.","tags":[{"tag":"","text":"Executes a query via a thread. The result handle is passed through the\ncallback.\n\nThe database handle returned through the callback is always a new Handle,\nand if necessary, IsSameConnection() should be used to test against other\nconnections.\n\nThe result handle returned through the callback is temporary and destroyed\nat the end of the callback."},{"tag":"param:callback","text":"Callback."},{"tag":"param:query","text":"Query string."},{"tag":"param:data","text":"Extra data value to pass to the callback."},{"tag":"param:prio","text":"Priority queue to use."}]},"metadata":{"created":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"kind":"native","returnType":"void","arguments":[{"type":"SQLQueryCallback","name":"callback","decl":"SQLQueryCallback callback","default":null},{"type":"const char[]","name":"query","decl":"const char[] query","default":null},{"type":"any","name":"data","decl":"any data","default":"0"},{"type":"DBPriority","name":"prio","decl":"DBPriority prio","default":"DBPrio_Normal"}]}},"properties":{"Driver":{"name":"Driver","refLine":349,"docStart":14572,"docEnd":14623,"docs":{"brief":"Returns the driver for this database connection.","tags":[{"tag":"","text":"Returns the driver for this database connection."}]},"metadata":{"created":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366},"last_updated":{"hash":"70145dfd74b31bcecd2533760cce50fcde0e1a79","count":6302,"time":1531062366}},"type":"DBDriver","getter":true,"setter":false}}},"DBResultSet":{"name":"DBResultSet","refLine":103,"docStart":3405,"docEnd":3468,"docs":{"brief":"Represents a set of results returned from executing a query.","tags":[{"tag":"","text":"Represents a set of results returned from executing a query."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"parent":"Handle","methods":{"FetchString":{"name":"FetchString","refLine":195,"docStart":6232,"docEnd":6895,"docs":{"brief":"Fetches a string from a field in the current row of a result set.\nIf the result is NULL, an empty string will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull().","tags":[{"tag":"","text":"Fetches a string from a field in the current row of a result set.\nIf the result is NULL, an empty string will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull()."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"param:buffer","text":"String buffer."},{"tag":"param:maxlength","text":"Maximum size of the string buffer."},{"tag":"param:result","text":"Optional variable to store the status of the return value."},{"tag":"return","text":"Number of bytes written."},{"tag":"error","text":"Invalid field index, invalid type conversion requested\nfrom the database, or no current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"field","decl":"int field","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"DBResult&","name":"result","decl":"DBResult& result","default":"DBVal_Error"}]},"FetchMoreResults":{"name":"FetchMoreResults","refLine":113,"docStart":3506,"docEnd":3893,"docs":{"brief":"Advances to the next set of results.\n\nIn some SQL implementations, multiple result sets can exist on one query.\nThis is possible in MySQL with simple queries when executing a CALL\nquery. If this is the case, all result sets must be processed before\nanother query is made.","tags":[{"tag":"","text":"Advances to the next set of results.\n\nIn some SQL implementations, multiple result sets can exist on one query.\nThis is possible in MySQL with simple queries when executing a CALL\nquery. If this is the case, all result sets must be processed before\nanother query is made."},{"tag":"return","text":"True if there was another result set, false otherwise."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"bool","arguments":[]},"Rewind":{"name":"Rewind","refLine":182,"docStart":6034,"docEnd":6196,"docs":{"brief":"Rewinds a result set back to the first result.","tags":[{"tag":"","text":"Rewinds a result set back to the first result."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"No current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"bool","arguments":[]},"FetchInt":{"name":"FetchInt","refLine":218,"docStart":7664,"docEnd":8219,"docs":{"brief":"Fetches an integer from a field in the current row of a result set.\nIf the result is NULL, a value of 0 will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull().","tags":[{"tag":"","text":"Fetches an integer from a field in the current row of a result set.\nIf the result is NULL, a value of 0 will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull()."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"param:result","text":"Optional variable to store the status of the return value."},{"tag":"return","text":"An integer value."},{"tag":"error","text":"Invalid field index, invalid type conversion requested\nfrom the database, or no current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"field","decl":"int field","default":null},{"type":"DBResult&","name":"result","decl":"DBResult& result","default":"DBVal_Error"}]},"FieldNumToName":{"name":"FieldNumToName","refLine":152,"docStart":4810,"docEnd":5085,"docs":{"brief":"Retrieves the name of a field by index.","tags":[{"tag":"","text":"Retrieves the name of a field by index."},{"tag":"param:field","text":"Field number (starting from 0)."},{"tag":"param:name","text":"Name buffer."},{"tag":"param:maxlength","text":"Maximum length of the name buffer."},{"tag":"error","text":"Invalid field index, or no current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"field","decl":"int field","default":null},{"type":"char[]","name":"name","decl":"char[] name","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"IsFieldNull":{"name":"IsFieldNull","refLine":226,"docStart":8295,"docEnd":8631,"docs":{"brief":"Returns whether a field's data in the current row of a result set is\nNULL or not. NULL is an SQL type which means \"no data.\"","tags":[{"tag":"","text":"Returns whether a field's data in the current row of a result set is\nNULL or not. NULL is an SQL type which means \"no data.\""},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"return","text":"True if data is NULL, false otherwise."},{"tag":"error","text":"Invalid field index, or no current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"field","decl":"int field","default":null}]},"FieldNameToNum":{"name":"FieldNameToNum","refLine":160,"docStart":5166,"docEnd":5435,"docs":{"brief":"Retrieves a field index by name.","tags":[{"tag":"","text":"Retrieves a field index by name."},{"tag":"param:name","text":"Name of the field (case sensitive)."},{"tag":"param:field","text":"Variable to store field index in."},{"tag":"return","text":"True if found, false if not found."},{"tag":"error","text":"No current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"name","decl":"const char[] name","default":null},{"type":"int&","name":"field","decl":"int& field","default":null}]},"FetchRow":{"name":"FetchRow","refLine":169,"docStart":5508,"docEnd":5825,"docs":{"brief":"Fetches a row from the current result set. This must be\nsuccessfully called before any results are fetched.\n\nIf this function fails, _MoreResults can be used to\ntell if there was an error or the result set is finished.","tags":[{"tag":"","text":"Fetches a row from the current result set. This must be\nsuccessfully called before any results are fetched.\n\nIf this function fails, _MoreResults can be used to\ntell if there was an error or the result set is finished."},{"tag":"return","text":"True if a row was fetched, false otherwise."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"bool","arguments":[]},"FetchFloat":{"name":"FetchFloat","refLine":207,"docStart":7033,"docEnd":7584,"docs":{"brief":"Fetches a float from a field in the current row of a result set.\nIf the result is NULL, a value of 0.0 will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull().","tags":[{"tag":"","text":"Fetches a float from a field in the current row of a result set.\nIf the result is NULL, a value of 0.0 will be returned. A NULL\ncheck can be done with the result parameter, or SQL_IsFieldNull()."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"param:result","text":"Optional variable to store the status of the return value."},{"tag":"return","text":"A float value."},{"tag":"error","text":"Invalid field index, invalid type conversion requested\nfrom the database, or no current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"float","arguments":[{"type":"int","name":"field","decl":"int field","default":null},{"type":"DBResult&","name":"result","decl":"DBResult& result","default":"DBVal_Error"}]},"FetchSize":{"name":"FetchSize","refLine":236,"docStart":8681,"docEnd":9120,"docs":{"brief":"Returns the length of a field's data in the current row of a result\nset. This only needs to be called for strings to determine how many\nbytes to use. Note that the return value does not include the null\nterminator.","tags":[{"tag":"","text":"Returns the length of a field's data in the current row of a result\nset. This only needs to be called for strings to determine how many\nbytes to use. Note that the return value does not include the null\nterminator."},{"tag":"param:field","text":"The field index (starting from 0)."},{"tag":"return","text":"Number of bytes for the field's data size."},{"tag":"error","text":"Invalid field index or no current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"field","decl":"int field","default":null}]}},"properties":{"RowCount":{"name":"RowCount","refLine":126,"docStart":4166,"docEnd":4350,"docs":{"brief":"Retrieves the number of rows in the last result set.","tags":[{"tag":"","text":"Retrieves the number of rows in the last result set."},{"tag":"param:query","text":"A query (or statement) Handle."},{"tag":"return","text":"Number of rows in the current result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"type":"int","getter":true,"setter":false},"InsertId":{"name":"InsertId","refLine":142,"docStart":4680,"docEnd":4751,"docs":{"brief":"Returns the insert id from the query that generated this result set.","tags":[{"tag":"","text":"Returns the insert id from the query that generated this result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"type":"int","getter":true,"setter":false},"FieldCount":{"name":"FieldCount","refLine":131,"docStart":4409,"docEnd":4466,"docs":{"brief":"Retrieves the number of fields in the last result set.","tags":[{"tag":"","text":"Retrieves the number of fields in the last result set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"type":"int","getter":true,"setter":false},"AffectedRows":{"name":"AffectedRows","refLine":137,"docStart":4527,"docEnd":4617,"docs":{"brief":"Returns the number of affected rows from the query that generated this\nresult set.","tags":[{"tag":"","text":"Returns the number of affected rows from the query that generated this\nresult set."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"type":"int","getter":true,"setter":false},"MoreRows":{"name":"MoreRows","refLine":174,"docStart":5863,"docEnd":5974,"docs":{"brief":"Returns if there are more rows.","tags":[{"tag":"","text":"Returns if there are more rows."},{"tag":"return","text":"True if there are more rows, false otherwise."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"type":"bool","getter":true,"setter":false},"HasResults":{"name":"HasResults","refLine":118,"docStart":3939,"docEnd":4104,"docs":{"brief":"Returns whether or not a result set exists. This will\nreturn true even if 0 results were returned, but false\non queries like UPDATE, INSERT, or DELETE.","tags":[{"tag":"","text":"Returns whether or not a result set exists. This will\nreturn true even if 0 results were returned, but false\non queries like UPDATE, INSERT, or DELETE."}]},"metadata":{"created":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994},"last_updated":{"hash":"4346e963e5534786eaf63f6e549b40f1f7bfe9c4","count":5732,"time":1446207994}},"type":"bool","getter":true,"setter":false}}},"Transaction":{"name":"Transaction","refLine":260,"docStart":10297,"docEnd":10401,"docs":{"brief":"A Transaction is a collection of SQL statements that must all execute\nsuccessfully or not at all.","tags":[{"tag":"","text":"A Transaction is a collection of SQL statements that must all execute\nsuccessfully or not at all."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"parent":"Handle","methods":{"AddQuery":{"name":"AddQuery","refLine":270,"docStart":10503,"docEnd":10736,"docs":{"brief":"Adds a query to the transaction.","tags":[{"tag":"","text":"Adds a query to the transaction."},{"tag":"param:query","text":"Query string."},{"tag":"param:data","text":"Extra data value to pass to the final callback."},{"tag":"return","text":"The index of the query in the transaction's query list."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"query","decl":"const char[] query","default":null},{"type":"any","name":"data","decl":"any data","default":"0"}]},"Transaction":{"name":"Transaction","refLine":263,"docStart":10439,"docEnd":10467,"docs":{"brief":"Create a new transaction.","tags":[{"tag":"","text":"Create a new transaction."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"Transaction","arguments":[]}},"properties":{}},"DBStatement":{"name":"DBStatement","refLine":276,"docStart":10806,"docEnd":10987,"docs":{"brief":"A DBStatement is a pre-compiled SQL query that may be executed multiple\ntimes with different parameters. A DBStatement holds a reference to the\nDatabase that prepared it.","tags":[{"tag":"","text":"A DBStatement is a pre-compiled SQL query that may be executed multiple\ntimes with different parameters. A DBStatement holds a reference to the\nDatabase that prepared it."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"parent":"Handle","methods":{"BindFloat":{"name":"BindFloat","refLine":292,"docStart":11471,"docEnd":11727,"docs":{"brief":"Binds a parameter in a prepared statement to a given float value.","tags":[{"tag":"","text":"Binds a parameter in a prepared statement to a given float value."},{"tag":"param:param","text":"The parameter index (starting from 0)."},{"tag":"param:value","text":"The float number to bind."},{"tag":"error","text":"Invalid parameter index, or SQL error."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"param","decl":"int param","default":null},{"type":"float","name":"value","decl":"float value","default":null}]},"BindString":{"name":"BindString","refLine":303,"docStart":11788,"docEnd":12322,"docs":{"brief":"Binds a parameter in a prepared statement to a given string value.","tags":[{"tag":"","text":"Binds a parameter in a prepared statement to a given string value."},{"tag":"param:param","text":"The parameter index (starting from 0)."},{"tag":"param:value","text":"The string to bind."},{"tag":"param:copy","text":"Whether or not SourceMod should copy the value\nlocally if necessary. If the string contents\nwon't change before calling SQL_Execute(), this\ncan be set to false for optimization."},{"tag":"error","text":"Invalid parameter index, or SQL error."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"param","decl":"int param","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null},{"type":"bool","name":"copy","decl":"bool copy","default":null}]},"BindInt":{"name":"BindInt","refLine":285,"docStart":11025,"docEnd":11395,"docs":{"brief":"Binds a parameter in a prepared statement to a given integer value.","tags":[{"tag":"","text":"Binds a parameter in a prepared statement to a given integer value."},{"tag":"param:param","text":"The parameter index (starting from 0)."},{"tag":"param:number","text":"The number to bind."},{"tag":"param:signed","text":"True to bind the number as signed, false to\nbind it as unsigned."},{"tag":"error","text":"Invalid parameter index, or SQL error."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"param","decl":"int param","default":null},{"type":"int","name":"number","decl":"int number","default":null},{"type":"bool","name":"signed","decl":"bool signed","default":"true"}]}},"properties":{}}},"enumstructs":{},"constants":{},"defines":{"_dbi_included":{"name":"_dbi_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"value":""}},"enums":{"DBBindType":{"name":"DBBindType","refLine":52,"docStart":1964,"docEnd":2001,"docs":{"brief":"Describes binding types.","tags":[{"tag":"","text":"Describes binding types."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"entries":{"DBBind_Float":{"name":"DBBind_Float","refLine":55,"docStart":2088,"docEnd":2109,"docs":{"brief":"Bind a float.","tags":[{"tag":"","text":"Bind a float."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"value":"1"},"DBBind_String":{"name":"DBBind_String","refLine":56,"docStart":2132,"docEnd":2154,"docs":{"brief":"Bind a string.","tags":[{"tag":"","text":"Bind a string."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"value":"2"},"DBBind_Int":{"name":"DBBind_Int","refLine":54,"docStart":2042,"docEnd":2066,"docs":{"brief":"Bind an integer.","tags":[{"tag":"","text":"Bind an integer."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"value":"0"}}},"DBPriority":{"name":"DBPriority","refLine":62,"docStart":2162,"docEnd":2200,"docs":{"brief":"Threading priority level.","tags":[{"tag":"","text":"Threading priority level."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"entries":{"DBPrio_High":{"name":"DBPrio_High","refLine":64,"docStart":2241,"docEnd":2263,"docs":{"brief":"High priority.","tags":[{"tag":"","text":"High priority."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"value":"0"},"DBPrio_Normal":{"name":"DBPrio_Normal","refLine":65,"docStart":2286,"docEnd":2310,"docs":{"brief":"Normal priority.","tags":[{"tag":"","text":"Normal priority."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"value":"1"},"DBPrio_Low":{"name":"DBPrio_Low","refLine":66,"docStart":2331,"docEnd":2352,"docs":{"brief":"Low priority.","tags":[{"tag":"","text":"Low priority."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"value":"2"}}},"DBResult":{"name":"DBResult","refLine":53,"docStart":1295,"docEnd":1348,"docs":{"brief":"Describes a database field fetch status.","tags":[{"tag":"","text":"Describes a database field fetch status."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"entries":{"DBVal_Error":{"name":"DBVal_Error","refLine":55,"docStart":1387,"docEnd":1426,"docs":{"brief":"Column number/field is invalid.","tags":[{"tag":"","text":"Column number/field is invalid."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"value":"0"},"DBVal_TypeMismatch":{"name":"DBVal_TypeMismatch","refLine":56,"docStart":1453,"docEnd":1506,"docs":{"brief":"You cannot retrieve this data with this type.","tags":[{"tag":"","text":"You cannot retrieve this data with this type."}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"value":"1"},"DBVal_Data":{"name":"DBVal_Data","refLine":58,"docStart":1580,"docEnd":1602,"docs":{"brief":"Field has data","tags":[{"tag":"","text":"Field has data"}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"value":"3"},"DBVal_Null":{"name":"DBVal_Null","refLine":57,"docStart":1527,"docEnd":1559,"docs":{"brief":"Field has no data (NULL)","tags":[{"tag":"","text":"Field has no data (NULL)"}]},"metadata":{"created":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029},"last_updated":{"hash":"e334e5f7e7b20c78692845c15d3d86dbebfdf7b0","count":869,"time":1180665029}},"value":"2"}}}},"typesets":{"SQLTxnSuccess":{"name":"SQLTxnSuccess","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a4b45aea9b1c9017fb4475c4dba4a64763201c3c","count":5712,"time":1444762259},"last_updated":{"hash":"a4b45aea9b1c9017fb4475c4dba4a64763201c3c","count":5712,"time":1444762259}},"types":{"function void(Database db, any data, int numQueries, Handle[] results, any[] queryData)":{"refLine":248,"docStart":9211,"docEnd":9646,"docs":{"brief":"Callback for a successful transaction.","tags":[{"tag":"","text":"Callback for a successful transaction."},{"tag":"param:db","text":"Database handle."},{"tag":"param:data","text":"Data value passed to SQL_ExecuteTransaction()."},{"tag":"param:numQueries","text":"Number of queries executed in the transaction."},{"tag":"param:results","text":"An array of Query handle results, one for each of numQueries. They are closed automatically."},{"tag":"param:queryData","text":"An array of each data value passed to SQL_AddQuery()."}]},"metadata":{"created":{"hash":"a4b45aea9b1c9017fb4475c4dba4a64763201c3c","count":5712,"time":1444762259},"last_updated":{"hash":"a4b45aea9b1c9017fb4475c4dba4a64763201c3c","count":5712,"time":1444762259}},"type":"function void(Database db, any data, int numQueries, Handle[] results, any[] queryData)","parsedSignature":{"returnType":"void","arguments":[{"type":"Database","name":"db","decl":"Database db","default":null},{"type":"any","name":"data","decl":"any data","default":null},{"type":"int","name":"numQueries","decl":"int numQueries","default":null},{"type":"Handle[]","name":"results","decl":"Handle[] results","default":null},{"type":"any[]","name":"queryData","decl":"any[] queryData","default":null}]}},"function void(Database db, any data, int numQueries, DBResultSet[] results, any[] queryData)":{"refLine":257,"docStart":9744,"docEnd":10178,"docs":{"brief":"Callback for a successful transaction.","tags":[{"tag":"","text":"Callback for a successful transaction."},{"tag":"param:db","text":"Database handle."},{"tag":"param:data","text":"Data value passed to SQL_ExecuteTransaction()."},{"tag":"param:numQueries","text":"Number of queries executed in the transaction."},{"tag":"param:results","text":"An array of DBResultSet results, one for each of numQueries. They are closed automatically."},{"tag":"param:queryData","text":"An array of each data value passed to SQL_AddQuery()."}]},"metadata":{"created":{"hash":"a4b45aea9b1c9017fb4475c4dba4a64763201c3c","count":5712,"time":1444762259},"last_updated":{"hash":"a4b45aea9b1c9017fb4475c4dba4a64763201c3c","count":5712,"time":1444762259}},"type":"function void(Database db, any data, int numQueries, DBResultSet[] results, any[] queryData)","parsedSignature":{"returnType":"void","arguments":[{"type":"Database","name":"db","decl":"Database db","default":null},{"type":"any","name":"data","decl":"any data","default":null},{"type":"int","name":"numQueries","decl":"int numQueries","default":null},{"type":"DBResultSet[]","name":"results","decl":"DBResultSet[] results","default":null},{"type":"any[]","name":"queryData","decl":"any[] queryData","default":null}]}}}}},"typedefs":{"SQLTxnSuccess":{"name":"SQLTxnSuccess","refLine":246,"docStart":9184,"docEnd":9613,"docs":{"brief":"Callback for a successful transaction.","tags":[{"tag":"","text":"Callback for a successful transaction."},{"tag":"param:db","text":"Database handle."},{"tag":"param:data","text":"Data value passed to SQL_ExecuteTransaction()."},{"tag":"param:numQueries","text":"Number of queries executed in the transaction."},{"tag":"param:results","text":"An array of Query handle results, one for each of numQueries. They are closed automatically."},{"tag":"param:queryData","text":"An array of each data value passed to SQL_AddQuery()."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"type":"function void(Database db, any data, int numQueries, Handle[] results, any[] queryData)","parsedSignature":{"returnType":"void","arguments":[{"type":"Database","name":"db","decl":"Database db","default":null},{"type":"any","name":"data","decl":"any data","default":null},{"type":"int","name":"numQueries","decl":"int numQueries","default":null},{"type":"Handle[]","name":"results","decl":"Handle[] results","default":null},{"type":"any[]","name":"queryData","decl":"any[] queryData","default":null}]}},"SQLTCallback":{"name":"SQLTCallback","refLine":947,"docStart":36970,"docEnd":37438,"docs":{"brief":"General callback for threaded SQL stuff.","tags":[{"tag":"","text":"General callback for threaded SQL stuff."},{"tag":"param:owner","text":"Parent object of the Handle (or INVALID_HANDLE if none)."},{"tag":"param:hndl","text":"Handle to the child object (or INVALID_HANDLE if none)."},{"tag":"param:error","text":"Error string if there was an error. The error could be\nempty even if an error condition exists, so it is important\nto check the actual Handle value instead."},{"tag":"param:data","text":"Data passed in via the original threaded invocation."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"type":"function void(Handle owner, Handle hndl, const char[] error, any data)","parsedSignature":{"returnType":"void","arguments":[{"type":"Handle","name":"owner","decl":"Handle owner","default":null},{"type":"Handle","name":"hndl","decl":"Handle hndl","default":null},{"type":"const char[]","name":"error","decl":"const char[] error","default":null},{"type":"any","name":"data","decl":"any data","default":null}]}},"SQLTxnFailure":{"name":"SQLTxnFailure","refLine":256,"docStart":9732,"docEnd":10161,"docs":{"brief":"Callback for a failed transaction.","tags":[{"tag":"","text":"Callback for a failed transaction."},{"tag":"param:db","text":"Database handle."},{"tag":"param:data","text":"Data value passed to SQL_ExecuteTransaction()."},{"tag":"param:numQueries","text":"Number of queries executed in the transaction."},{"tag":"param:error","text":"Error message."},{"tag":"param:failIndex","text":"Index of the query that failed, or -1 if something else."},{"tag":"param:queryData","text":"An array of each data value passed to SQL_AddQuery()."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"type":"function void(Database db, any data, int numQueries, const char[] error, int failIndex, any[] queryData)","parsedSignature":{"returnType":"void","arguments":[{"type":"Database","name":"db","decl":"Database db","default":null},{"type":"any","name":"data","decl":"any data","default":null},{"type":"int","name":"numQueries","decl":"int numQueries","default":null},{"type":"const char[]","name":"error","decl":"const char[] error","default":null},{"type":"int","name":"failIndex","decl":"int failIndex","default":null},{"type":"any[]","name":"queryData","decl":"any[] queryData","default":null}]}},"SQLQueryCallback":{"name":"SQLQueryCallback","refLine":323,"docStart":12890,"docEnd":13352,"docs":{"brief":"Callback for receiving asynchronous database query results.","tags":[{"tag":"","text":"Callback for receiving asynchronous database query results."},{"tag":"param:db","text":"Cloned handle to the database connection."},{"tag":"param:results","text":"Result object, or null on failure."},{"tag":"param:error","text":"Error string if there was an error. The error could be\nempty even if an error condition exists, so it is important\nto check the actual results value instead."},{"tag":"param:data","text":"Data passed in via the original threaded invocation."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"type":"function void(Database db, DBResultSet results, const char[] error, any data)","parsedSignature":{"returnType":"void","arguments":[{"type":"Database","name":"db","decl":"Database db","default":null},{"type":"DBResultSet","name":"results","decl":"DBResultSet results","default":null},{"type":"const char[]","name":"error","decl":"const char[] error","default":null},{"type":"any","name":"data","decl":"any data","default":null}]}},"SQLConnectCallback":{"name":"SQLConnectCallback","refLine":313,"docStart":12405,"docEnd":12797,"docs":{"brief":"Callback for receiving asynchronous database connections.","tags":[{"tag":"","text":"Callback for receiving asynchronous database connections."},{"tag":"param:db","text":"Handle to the database connection."},{"tag":"param:error","text":"Error string if there was an error. The error could be\nempty even if an error condition exists, so it is important\nto check the actual Handle value instead."},{"tag":"param:data","text":"Data passed in via the original threaded invocation."}]},"metadata":{"created":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931},"last_updated":{"hash":"822501b8a1127a3acd72b3a5ec329d02606327c1","count":5154,"time":1420313931}},"type":"function void(Database db, const char[] error, any data)","parsedSignature":{"returnType":"void","arguments":[{"type":"Database","name":"db","decl":"Database db","default":null},{"type":"const char[]","name":"error","decl":"const char[] error","default":null},{"type":"any","name":"data","decl":"any data","default":null}]}}}},"sdktools_tempents":{"functions":{"TE_ReadVector":{"name":"TE_ReadVector","refLine":135,"docStart":4156,"docEnd":4315,"docs":{"brief":"Reads a vector in the current temp entity.","tags":[{"tag":"","text":"Reads a vector in the current temp entity."},{"tag":"param:prop","text":"Property to use."},{"tag":"param:vector","text":"Vector to read."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null},{"type":"float[3]","name":"vector","decl":"float vector[3]","default":null}]},"TE_IsValidProp":{"name":"TE_IsValidProp","refLine":36,"docStart":915,"docEnd":1064,"docs":{"brief":"Checks if a certain TE property exists.","tags":[{"tag":"","text":"Checks if a certain TE property exists."},{"tag":"param:prop","text":"Property to use."},{"tag":"return","text":"True if the property exists, otherwise false."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null}]},"TE_Send":{"name":"TE_Send","refLine":164,"docStart":4931,"docEnd":5230,"docs":{"brief":"Sends the current temp entity to one or more clients.","tags":[{"tag":"","text":"Sends the current temp entity to one or more clients."},{"tag":"param:clients","text":"Array containing player indexes to broadcast to."},{"tag":"param:numClients","text":"Number of players in the array."},{"tag":"param:delay","text":"Delay in seconds to send the TE."},{"tag":"error","text":"Invalid client index or client not in game."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const int[]","name":"clients","decl":"const int[] clients","default":null},{"type":"int","name":"numClients","decl":"int numClients","default":null},{"type":"float","name":"delay","decl":"float delay","default":"0.000000"}]},"TE_ReadNum":{"name":"TE_ReadNum","refLine":103,"docStart":3286,"docEnd":3448,"docs":{"brief":"Reads an integer value in the current temp entity.","tags":[{"tag":"","text":"Reads an integer value in the current temp entity."},{"tag":"param:prop","text":"Property to use."},{"tag":"return","text":"Property value."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null}]},"TE_WriteVector":{"name":"TE_WriteVector","refLine":126,"docStart":3924,"docEnd":4081,"docs":{"brief":"Sets a vector in the current temp entity.","tags":[{"tag":"","text":"Sets a vector in the current temp entity."},{"tag":"param:prop","text":"Property to use."},{"tag":"param:vector","text":"Vector to set."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null},{"type":"const float[3]","name":"vector","decl":"const float vector[3]","default":null}]},"TE_Start":{"name":"TE_Start","refLine":73,"docStart":2639,"docEnd":2762,"docs":{"brief":"Starts a temp entity transmission.","tags":[{"tag":"","text":"Starts a temp entity transmission."},{"tag":"param:te_name","text":"TE name."},{"tag":"error","text":"Temp Entity name not available."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"te_name","decl":"const char[] te_name","default":null}]},"RemoveTempEntHook":{"name":"RemoveTempEntHook","refLine":65,"docStart":2372,"docEnd":2568,"docs":{"brief":"Removes a temp entity hook.","tags":[{"tag":"","text":"Removes a temp entity hook."},{"tag":"param:te_name","text":"TE name to unhook."},{"tag":"param:hook","text":"Function used for the hook."},{"tag":"error","text":"Temp Entity name not available or invalid function hook."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"te_name","decl":"const char[] te_name","default":null},{"type":"TEHook","name":"hook","decl":"TEHook hook","default":null}]},"AddTempEntHook":{"name":"AddTempEntHook","refLine":56,"docStart":2118,"docEnd":2304,"docs":{"brief":"Hooks a temp entity.","tags":[{"tag":"","text":"Hooks a temp entity."},{"tag":"param:te_name","text":"TE name to hook."},{"tag":"param:hook","text":"Function to use as a hook."},{"tag":"error","text":"Temp Entity name not available or invalid function hook."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"te_name","decl":"const char[] te_name","default":null},{"type":"TEHook","name":"hook","decl":"TEHook hook","default":null}]},"TE_WriteNum":{"name":"TE_WriteNum","refLine":90,"docStart":3012,"docEnd":3184,"docs":{"brief":"Sets an integer value in the current temp entity.","tags":[{"tag":"","text":"Sets an integer value in the current temp entity."},{"tag":"param:prop","text":"Property to use."},{"tag":"param:value","text":"Integer value to set."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null},{"type":"int","name":"value","decl":"int value","default":null}]},"TE_WriteFloatArray":{"name":"TE_WriteFloatArray","refLine":154,"docStart":4615,"docEnd":4839,"docs":{"brief":"Sets an array of floats in the current temp entity.","tags":[{"tag":"","text":"Sets an array of floats in the current temp entity."},{"tag":"param:prop","text":"Property to use."},{"tag":"param:array","text":"Array of values to copy."},{"tag":"param:arraySize","text":"Number of values to copy."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"6e98ba7080cb88dfe1695bc1c2bad7f017599090","count":1040,"time":1183594919},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null},{"type":"const float[]","name":"array","decl":"const float[] array","default":null},{"type":"int","name":"arraySize","decl":"int arraySize","default":null}]},"TE_WriteAngles":{"name":"TE_WriteAngles","refLine":144,"docStart":4383,"docEnd":4540,"docs":{"brief":"Sets a QAngle in the current temp entity.","tags":[{"tag":"","text":"Sets a QAngle in the current temp entity."},{"tag":"param:prop","text":"Property to use."},{"tag":"param:angles","text":"Angles to set."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null},{"type":"const float[3]","name":"angles","decl":"const float angles[3]","default":null}]},"TE_SendToClient":{"name":"TE_SendToClient","refLine":208,"docStart":6106,"docEnd":6331,"docs":{"brief":"Sends the current TE to only a client.","tags":[{"tag":"","text":"Sends the current TE to only a client."},{"tag":"note","text":"See TE_Start()."},{"tag":"param:client","text":"Client to send to."},{"tag":"param:delay","text":"Delay in seconds to send the TE."},{"tag":"error","text":"Invalid client index or client not in game."}]},"metadata":{"created":{"hash":"b0f5b985bbb5e04b20a569c85f39c174c7501667","count":1054,"time":1183841300},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"stock","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"float","name":"delay","decl":"float delay","default":"0.000000"}]},"TE_WriteEncodedEnt":{"name":"TE_WriteEncodedEnt","refLine":174,"docStart":5310,"docEnd":5545,"docs":{"brief":"Sets an encoded entity index in the current temp entity.\n(This is usually used for m_nStartEntity and m_nEndEntity).","tags":[{"tag":"","text":"Sets an encoded entity index in the current temp entity.\n(This is usually used for m_nStartEntity and m_nEndEntity)."},{"tag":"param:prop","text":"Property to use."},{"tag":"param:value","text":"Value to set."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null},{"type":"int","name":"value","decl":"int value","default":null}]},"TE_SendToOne":{"name":"TE_SendToOne","refLine":135,"docStart":3336,"docEnd":3575,"docs":{"brief":"Sends the current TE to only a client.","tags":[{"tag":"","text":"Sends the current TE to only a client."},{"tag":"note","text":"See TE_Start()."},{"tag":"param:client","text":"Client to send to."},{"tag":"param:delay","text":"Delay in seconds to send the TE."},{"tag":"error","text":"Invalid client index or client not in game."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946}},"kind":"stock","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"float","name":"delay","decl":"float delay","default":"0.000000"}]},"TE_SendToAllInRange":{"name":"TE_SendToAllInRange","refLine":227,"docStart":6914,"docEnd":7269,"docs":{"brief":"Sends the current TE to all clients that are in\nvisible or audible range of the origin.","tags":[{"tag":"","text":"Sends the current TE to all clients that are in\nvisible or audible range of the origin."},{"tag":"note","text":"See TE_Start()."},{"tag":"note","text":"See GetClientsInRange()"},{"tag":"param:origin","text":"Coordinates from which to test range."},{"tag":"param:rangeType","text":"Range type to use for filtering clients."},{"tag":"param:delay","text":"Delay in seconds to send the TE."}]},"metadata":{"created":{"hash":"b53947ccc306858ff0b4b4f4bfddf639f23f2418","count":5323,"time":1425399721},"last_updated":{"hash":"2a9deb6a64799740617751a71fb30a592594d296","count":6470,"time":1573633980}},"kind":"stock","returnType":"void","arguments":[{"type":"const float[3]","name":"origin","decl":"const float origin[3]","default":null},{"type":"ClientRangeType","name":"rangeType","decl":"ClientRangeType rangeType","default":null},{"type":"float","name":"delay","decl":"float delay","default":"0.000000"}]},"TE_SendToAll":{"name":"TE_SendToAll","refLine":186,"docStart":5707,"docEnd":5851,"docs":{"brief":"Broadcasts the current temp entity to all clients.","tags":[{"tag":"","text":"Broadcasts the current temp entity to all clients."},{"tag":"note","text":"See TE_Start()."},{"tag":"param:delay","text":"Delay in seconds to send the TE."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"stock","returnType":"void","arguments":[{"type":"float","name":"delay","decl":"float delay","default":"0.000000"}]},"TE_ReadFloat":{"name":"TE_ReadFloat","refLine":122,"docStart":3755,"docEnd":3926,"docs":{"brief":"Reads a floating point number in the current temp entity.","tags":[{"tag":"","text":"Reads a floating point number in the current temp entity."},{"tag":"param:prop","text":"Property to use."},{"tag":"noreturn","text":"Property value."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"kind":"native","returnType":"float","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null}]},"TE_WriteFloat":{"name":"TE_WriteFloat","refLine":108,"docStart":3453,"docEnd":3640,"docs":{"brief":"Sets a floating point number in the current temp entity.","tags":[{"tag":"","text":"Sets a floating point number in the current temp entity."},{"tag":"param:prop","text":"Property to use."},{"tag":"param:value","text":"Floating point number to set."},{"tag":"error","text":"Property not found."}]},"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"prop","decl":"const char[] prop","default":null},{"type":"float","name":"value","decl":"float value","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_tempents_included":{"name":"_sdktools_tempents_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946},"last_updated":{"hash":"8749f537d43fbb528aa1b2196e0dc7cc7085a559","count":1032,"time":1183335946}},"value":""}},"enums":{},"typesets":{},"typedefs":{"TEHook":{"name":"TEHook","refLine":47,"docStart":1660,"docEnd":2006,"docs":{"brief":"Called when a temp entity is going to be sent.","tags":[{"tag":"","text":"Called when a temp entity is going to be sent."},{"tag":"param:te_name","text":"TE name."},{"tag":"param:Players","text":"Array containing target player indexes."},{"tag":"param:numClients","text":"Number of players in the array."},{"tag":"param:delay","text":"Delay in seconds to send the TE."},{"tag":"return","text":"Plugin_Continue to allow the transmission of the TE, Plugin_Stop to block it."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"type":"function Action(const char[] te_name, const int[] Players, int numClients, float delay)","parsedSignature":{"returnType":"Action","arguments":[{"type":"const char[]","name":"te_name","decl":"const char[] te_name","default":null},{"type":"const int[]","name":"Players","decl":"const int[] Players","default":null},{"type":"int","name":"numClients","decl":"int numClients","default":null},{"type":"float","name":"delay","decl":"float delay","default":null}]}}}},"sdktools_stringtables":{"functions":{"GetStringTableDataLength":{"name":"GetStringTableDataLength","refLine":98,"docStart":3027,"docEnd":3333,"docs":{"brief":"Returns the length of the user data associated with a given string index.","tags":[{"tag":"","text":"Returns the length of the user data associated with a given string index."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"param:stringidx","text":"A string index."},{"tag":"return","text":"Length of user data. This will be 0 if there is no user data."},{"tag":"error","text":"Invalid string table index or string index."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null},{"type":"int","name":"stringidx","decl":"int stringidx","default":null}]},"AddFileToDownloadsTable":{"name":"AddFileToDownloadsTable","refLine":151,"docStart":5226,"docEnd":5444,"docs":{"brief":"Adds a file to the downloadables network string table.\nThis forces a client to download the file if they do not already have it.","tags":[{"tag":"","text":"Adds a file to the downloadables network string table.\nThis forces a client to download the file if they do not already have it."},{"tag":"param:filename","text":"File that will be added to downloadables table."}]},"metadata":{"created":{"hash":"662e5673f7dbb0b80328c667276abd48d11cbd93","count":1116,"time":1184485695},"last_updated":{"hash":"662e5673f7dbb0b80328c667276abd48d11cbd93","count":1116,"time":1184485695}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"filename","decl":"const char[] filename","default":null}]},"FindStringIndex":{"name":"FindStringIndex","refLine":76,"docStart":2241,"docEnd":2507,"docs":{"brief":"Searches for the index of a given string in a string table.","tags":[{"tag":"","text":"Searches for the index of a given string in a string table."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"param:string","text":"String to find."},{"tag":"return","text":"String index if found, INVALID_STRING_INDEX otherwise."},{"tag":"error","text":"Invalid string table index."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null},{"type":"const char[]","name":"str","decl":"const char[] str","default":null}]},"ReadStringTable":{"name":"ReadStringTable","refLine":105,"docStart":3491,"docEnd":3876,"docs":{"brief":"Retrieves the string at a given index of a string table.","tags":[{"tag":"","text":"Retrieves the string at a given index of a string table."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"param:stringidx","text":"A string index."},{"tag":"param:str","text":"Buffer to store the string value."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"return","text":"Number of bytes written to the buffer (UTF-8 safe)."},{"tag":"error","text":"Invalid string table index or string index."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"0e167ee85b9ea4a756873bae5d01e6168f8c4e9d","count":3968,"time":1375363594}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null},{"type":"int","name":"stringidx","decl":"int stringidx","default":null},{"type":"char[]","name":"str","decl":"char[] str","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"GetStringTableMaxStrings":{"name":"GetStringTableMaxStrings","refLine":55,"docStart":1569,"docEnd":1800,"docs":{"brief":"Returns the maximum number of strings that are allowed in a given string table.","tags":[{"tag":"","text":"Returns the maximum number of strings that are allowed in a given string table."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"return","text":"Maximum number of strings allowed."},{"tag":"error","text":"Invalid string table index."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null}]},"GetStringTableName":{"name":"GetStringTableName","refLine":66,"docStart":1848,"docEnd":2173,"docs":{"brief":"Retrieves the name of a string table.","tags":[{"tag":"","text":"Retrieves the name of a string table."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"param:name","text":"Buffer to store the name of the string table."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"return","text":"Number of bytes written to the buffer (UTF-8 safe)."},{"tag":"error","text":"Invalid string table index."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null},{"type":"char[]","name":"name","decl":"char[] name","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SetStringTableData":{"name":"SetStringTableData","refLine":138,"docStart":5199,"docEnd":5583,"docs":{"brief":"Sets the user data associated with a given string index.","tags":[{"tag":"","text":"Sets the user data associated with a given string index."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"param:stringidx","text":"A string index."},{"tag":"param:userdata","text":"User data string that will be set."},{"tag":"param:length","text":"Length of user data string. This should include the null terminator."},{"tag":"error","text":"Invalid string table index or string index."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"25462071df58307f41dca5890c33480c7e263572","count":6526,"time":1586883099}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null},{"type":"int","name":"stringidx","decl":"int stringidx","default":null},{"type":"const char[]","name":"userdata","decl":"const char[] userdata","default":null},{"type":"int","name":"length","decl":"int length","default":null}]},"GetStringTableNumStrings":{"name":"GetStringTableNumStrings","refLine":46,"docStart":1289,"docEnd":1521,"docs":{"brief":"Returns the number of strings that currently exist in a given string table.","tags":[{"tag":"","text":"Returns the number of strings that currently exist in a given string table."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"return","text":"Number of strings that currently exist."},{"tag":"error","text":"Invalid string table index."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null}]},"FindStringTable":{"name":"FindStringTable","refLine":30,"docStart":892,"docEnd":1070,"docs":{"brief":"Searches for a string table.","tags":[{"tag":"","text":"Searches for a string table."},{"tag":"param:name","text":"Name of string table to find."},{"tag":"return","text":"A string table index number if found, INVALID_STRING_TABLE otherwise."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"name","decl":"const char[] name","default":null}]},"GetStringTableData":{"name":"GetStringTableData","refLine":127,"docStart":4316,"docEnd":4756,"docs":{"brief":"Retrieves the user data associated with a given string index.","tags":[{"tag":"","text":"Retrieves the user data associated with a given string index."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"param:stringidx","text":"A string index."},{"tag":"param:userdata","text":"Buffer to store the user data. This will be set to \"\" if there is no user data."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"return","text":"Number of bytes written to the buffer (UTF-8 safe)."},{"tag":"error","text":"Invalid string table index or string index."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"0e167ee85b9ea4a756873bae5d01e6168f8c4e9d","count":3968,"time":1375363594}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null},{"type":"int","name":"stringidx","decl":"int stringidx","default":null},{"type":"char[]","name":"userdata","decl":"char[] userdata","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"AddToStringTable":{"name":"AddToStringTable","refLine":151,"docStart":5440,"docEnd":5838,"docs":{"brief":"Adds a string to a given string table.","tags":[{"tag":"","text":"Adds a string to a given string table."},{"tag":"param:tableidx","text":"A string table index."},{"tag":"param:str","text":"String to add."},{"tag":"param:userdata","text":"An optional user data string."},{"tag":"param:length","text":"Length of user data string. This should include the null terminator.\nIf set to -1, then user data will be not be altered if the specified string\nalready exists in the string table."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"tableidx","decl":"int tableidx","default":null},{"type":"const char[]","name":"str","decl":"const char[] str","default":null},{"type":"const char[]","name":"userdata","decl":"const char[] userdata","default":"\"\""},{"type":"int","name":"length","decl":"int length","default":"-1"}]},"GetNumStringTables":{"name":"GetNumStringTables","refLine":37,"docStart":1120,"docEnd":1255,"docs":{"brief":"Returns the number of string tables that currently exist.","tags":[{"tag":"","text":"Returns the number of string tables that currently exist."},{"tag":"return","text":"Number of string tables that currently exist."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"native","returnType":"int","arguments":[]},"LockStringTables":{"name":"LockStringTables","refLine":143,"docStart":4924,"docEnd":5180,"docs":{"brief":"Locks or unlocks the network string tables.","tags":[{"tag":"","text":"Locks or unlocks the network string tables."},{"tag":"param:lock","text":"Determines whether network string tables should be locked.\nTrue means the tables should be locked for writing; false means unlocked."},{"tag":"return","text":"Previous lock state."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"native","returnType":"bool","arguments":[{"type":"bool","name":"lock","decl":"bool lock","default":null}]},"AddFileToDownloadTable":{"name":"AddFileToDownloadTable","refLine":151,"docStart":5226,"docEnd":5444,"docs":{"brief":"Adds a file to the downloadables network string table.\nThis forces a client to download the file if they do not already have it.","tags":[{"tag":"","text":"Adds a file to the downloadables network string table.\nThis forces a client to download the file if they do not already have it."},{"tag":"param:filename","text":"File that will be added to downloadables table."}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"filename","decl":"const char[] filename","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"INVALID_STRING_INDEX":{"name":"INVALID_STRING_INDEX","refLine":22,"docStart":846,"docEnd":888,"docs":{"brief":"An invalid string index in a table","tags":[{"tag":"","text":"An invalid string index in a table"}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"value":"-1"},"INVALID_STRING_TABLE":{"name":"INVALID_STRING_TABLE","refLine":21,"docStart":774,"docEnd":811,"docs":{"brief":"An invalid string table index","tags":[{"tag":"","text":"An invalid string table index"}]},"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"value":"-1"},"_sdktools_stringtables_included":{"name":"_sdktools_stringtables_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457},"last_updated":{"hash":"a55ebc0c969051f30815592da3718c3fb11f53be","count":1115,"time":1184485457}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"sdktools":{"functions":{"EndPrepSDKCall":{"name":"EndPrepSDKCall","refLine":138,"docStart":4733,"docEnd":4895,"docs":{"brief":"Finalizes an SDK call preparation and returns the resultant Handle.","tags":[{"tag":"","text":"Finalizes an SDK call preparation and returns the resultant Handle."},{"tag":"return","text":"A new SDKCall Handle on success, or INVALID_HANDLE on failure."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"kind":"native","returnType":"Handle","arguments":[]},"PrepSDKCall_SetSignature":{"name":"PrepSDKCall_SetSignature","refLine":96,"docStart":2687,"docEnd":3147,"docs":{"brief":"Finds an address in a library and sets it as the address to use for the SDK call.","tags":[{"tag":"","text":"Finds an address in a library and sets it as the address to use for the SDK call."},{"tag":"param:lib","text":"Library to use."},{"tag":"param:signature","text":"Binary data to search for in the library. If it starts with '@',\nthe bytes parameter is ignored and the signature is interpreted\nas a symbol lookup in the library."},{"tag":"param:bytes","text":"Number of bytes in the binary search string."},{"tag":"return","text":"True on success, false if nothing was found."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"kind":"native","returnType":"bool","arguments":[{"type":"SDKLibrary","name":"lib","decl":"SDKLibrary lib","default":null},{"type":"const char[]","name":"signature","decl":"const char[] signature","default":null},{"type":"int","name":"bytes","decl":"int bytes","default":null}]},"PrepSDKCall_SetReturnInfo":{"name":"PrepSDKCall_SetReturnInfo","refLine":161,"docStart":5555,"docEnd":5994,"docs":{"brief":"Sets the return information of an SDK call. Do not call this if there is no return data.\nThis must be called if there is a return value (i.e. it is not necessarily safe to ignore\nthe data).","tags":[{"tag":"","text":"Sets the return information of an SDK call. Do not call this if there is no return data.\nThis must be called if there is a return value (i.e. it is not necessarily safe to ignore\nthe data)."},{"tag":"param:type","text":"Data type to convert to/from."},{"tag":"param:pass","text":"How the data is passed in C++."},{"tag":"param:decflags","text":"Flags on decoding from the plugin to C++."},{"tag":"param:encflags","text":"Flags on encoding from C++ to the plugin."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"SDKType","name":"type","decl":"SDKType type","default":null},{"type":"SDKPassMethod","name":"pass","decl":"SDKPassMethod pass","default":null},{"type":"int","name":"decflags","decl":"int decflags","default":"0"},{"type":"int","name":"encflags","decl":"int encflags","default":"0"}]},"GetPlayerResourceEntity":{"name":"GetPlayerResourceEntity","refLine":202,"docStart":7534,"docEnd":7673,"docs":{"brief":"Returns the entity index of the player resource/manager entity.","tags":[{"tag":"","text":"Returns the entity index of the player resource/manager entity."},{"tag":"return","text":"Index of resource entity or -1 if not found."}]},"metadata":{"created":{"hash":"0c7696da65379a3661af0afad3f4047293e5b032","count":3817,"time":1363456236},"last_updated":{"hash":"0c7696da65379a3661af0afad3f4047293e5b032","count":3817,"time":1363456236}},"kind":"native","returnType":"int","arguments":[]},"StartPrepSDKCall":{"name":"StartPrepSDKCall","refLine":111,"docStart":3955,"docEnd":4064,"docs":{"brief":"Starts the preparation of an SDK call.","tags":[{"tag":"","text":"Starts the preparation of an SDK call."},{"tag":"param:type","text":"Type of function call this will be."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"SDKCallType","name":"type","decl":"SDKCallType type","default":null}]},"SDKCall":{"name":"SDKCall","refLine":159,"docStart":4932,"docEnd":5873,"docs":{"brief":"Calls an SDK function with the given parameters.\n\nIf the call type is Entity or Player, the index MUST ALWAYS be the FIRST parameter passed.\nIf the return value is a Vector or QAngles, the SECOND parameter must be a Float[3].\nIf the return value is a string, the THIRD parameter must be a String buffer, and the\nFOURTH parameter must be the maximum length.\nAll parameters must be passed after the above is followed. Failure to follow these\nrules will result in crashes or wildly unexpected behavior!\n\nIf the return value is a float or integer, the return value will be this value.\nIf the return value is a CBaseEntity, CBasePlayer, or edict, the return value will\nalways be the entity index, or -1 for NULL.","tags":[{"tag":"","text":"Calls an SDK function with the given parameters.\n\nIf the call type is Entity or Player, the index MUST ALWAYS be the FIRST parameter passed.\nIf the return value is a Vector or QAngles, the SECOND parameter must be a Float[3].\nIf the return value is a string, the THIRD parameter must be a String buffer, and the\nFOURTH parameter must be the maximum length.\nAll parameters must be passed after the above is followed. Failure to follow these\nrules will result in crashes or wildly unexpected behavior!\n\nIf the return value is a float or integer, the return value will be this value.\nIf the return value is a CBaseEntity, CBasePlayer, or edict, the return value will\nalways be the entity index, or -1 for NULL."},{"tag":"param:call","text":"SDKCall Handle."},{"tag":"param:...","text":"Call Parameters."},{"tag":"return","text":"Simple return value, if any."},{"tag":"error","text":"Invalid Handle or internal decoding error."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"kind":"native","returnType":"any","arguments":[{"type":"Handle","name":"call","decl":"Handle call","default":null},{"type":"any...","name":"...","decl":"any...","default":null}]},"PrepSDKCall_SetVirtual":{"name":"PrepSDKCall_SetVirtual","refLine":118,"docStart":4117,"docEnd":4231,"docs":{"brief":"Sets the virtual index of the SDK call if it is virtual.","tags":[{"tag":"","text":"Sets the virtual index of the SDK call if it is virtual."},{"tag":"param:vtblidx","text":"Virtual table index."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"vtblidx","decl":"int vtblidx","default":null}]},"PrepSDKCall_SetAddress":{"name":"PrepSDKCall_SetAddress","refLine":140,"docStart":4851,"docEnd":5013,"docs":{"brief":"Uses the given function address for the SDK call.","tags":[{"tag":"","text":"Uses the given function address for the SDK call."},{"tag":"param:addr","text":"Address of function to use."},{"tag":"return","text":"True on success, false on failure."}]},"metadata":{"created":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896},"last_updated":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896}},"kind":"native","returnType":"bool","arguments":[{"type":"Address","name":"addr","decl":"Address addr","default":null}]},"PrepSDKCall_SetFromConf":{"name":"PrepSDKCall_SetFromConf","refLine":107,"docStart":3239,"docEnd":3634,"docs":{"brief":"Finds an address or virtual function index in a GameConfig file and sets it as\nthe calling information for the SDK call.","tags":[{"tag":"","text":"Finds an address or virtual function index in a GameConfig file and sets it as\nthe calling information for the SDK call."},{"tag":"param:gameconf","text":"GameConfig Handle, or INVALID_HANDLE to use sdktools.games.txt."},{"tag":"param:source","text":"Whether to look in Offsets or Signatures."},{"tag":"param:name","text":"Name of the property to find."},{"tag":"return","text":"True on success, false if nothing was found."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"gameconf","decl":"Handle gameconf","default":null},{"type":"SDKFuncConfSource","name":"source","decl":"SDKFuncConfSource source","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":null}]},"PrepSDKCall_AddParameter":{"name":"PrepSDKCall_AddParameter","refLine":171,"docStart":6104,"docEnd":6437,"docs":{"brief":"Adds a parameter to the calling convention. This should be called in normal ascending order.","tags":[{"tag":"","text":"Adds a parameter to the calling convention. This should be called in normal ascending order."},{"tag":"param:type","text":"Data type to convert to/from."},{"tag":"param:pass","text":"How the data is passed in C++."},{"tag":"param:decflags","text":"Flags on decoding from the plugin to C++."},{"tag":"param:encflags","text":"Flags on encoding from C++ to the plugin."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"SDKType","name":"type","decl":"SDKType type","default":null},{"type":"SDKPassMethod","name":"pass","decl":"SDKPassMethod pass","default":null},{"type":"int","name":"decflags","decl":"int decflags","default":"0"},{"type":"int","name":"encflags","decl":"int encflags","default":"0"}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_included":{"name":"_sdktools_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":""},"VDECODE_FLAG_ALLOWNULL":{"name":"VDECODE_FLAG_ALLOWNULL","refLine":63,"docStart":2014,"docEnd":2045,"docs":{"brief":"Allow NULL for pointers","tags":[{"tag":"","text":"Allow NULL for pointers"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":"(1<<0)"},"VDECODE_FLAG_ALLOWWORLD":{"name":"VDECODE_FLAG_ALLOWWORLD","refLine":65,"docStart":2167,"docEnd":2193,"docs":{"brief":"Allow World entity","tags":[{"tag":"","text":"Allow World entity"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":"(1<<2)"},"VDECODE_FLAG_ALLOWNOTINGAME":{"name":"VDECODE_FLAG_ALLOWNOTINGAME","refLine":64,"docStart":2091,"docEnd":2124,"docs":{"brief":"Allow players not in game","tags":[{"tag":"","text":"Allow players not in game"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":"(1<<1)"},"VENCODE_FLAG_COPYBACK":{"name":"VENCODE_FLAG_COPYBACK","refLine":68,"docStart":2307,"docEnd":2339,"docs":{"brief":"Copy back data once done","tags":[{"tag":"","text":"Copy back data once done"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":"(1<<0)"},"VDECODE_FLAG_BYREF":{"name":"VDECODE_FLAG_BYREF","refLine":66,"docStart":2232,"docEnd":2264,"docs":{"brief":"Floats/ints by reference","tags":[{"tag":"","text":"Floats/ints by reference"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":"(1<<3)"}},"enums":{"SDKCallType":{"name":"SDKCallType","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096}},"entries":{"SDKCall_Static":{"name":"SDKCall_Static","refLine":58,"docStart":2173,"docEnd":2192,"docs":{"brief":"Static call","tags":[{"tag":"","text":"Static call"}]},"metadata":{"created":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096},"last_updated":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096}},"value":null},"SDKCall_EntityList":{"name":"SDKCall_EntityList","refLine":63,"docStart":2422,"docEnd":2452,"docs":{"brief":"CGlobalEntityList call","tags":[{"tag":"","text":"CGlobalEntityList call"}]},"metadata":{"created":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096},"last_updated":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096}},"value":null},"SDKCall_Raw":{"name":"SDKCall_Raw","refLine":64,"docStart":2479,"docEnd":2527,"docs":{"brief":"|this| pointer with an arbitrary address","tags":[{"tag":"","text":"|this| pointer with an arbitrary address"}]},"metadata":{"created":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096},"last_updated":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096}},"value":null},"SDKCall_Server":{"name":"SDKCall_Server","refLine":61,"docStart":2321,"docEnd":2345,"docs":{"brief":"CBaseServer call","tags":[{"tag":"","text":"CBaseServer call"}]},"metadata":{"created":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096},"last_updated":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096}},"value":null},"SDKCall_GameRules":{"name":"SDKCall_GameRules","refLine":62,"docStart":2372,"docEnd":2395,"docs":{"brief":"CGameRules call","tags":[{"tag":"","text":"CGameRules call"}]},"metadata":{"created":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096},"last_updated":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096}},"value":null},"SDKCall_Entity":{"name":"SDKCall_Entity","refLine":59,"docStart":2219,"docEnd":2243,"docs":{"brief":"CBaseEntity call","tags":[{"tag":"","text":"CBaseEntity call"}]},"metadata":{"created":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096},"last_updated":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096}},"value":null},"SDKCall_Player":{"name":"SDKCall_Player","refLine":60,"docStart":2270,"docEnd":2294,"docs":{"brief":"CBasePlayer call","tags":[{"tag":"","text":"CBasePlayer call"}]},"metadata":{"created":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096},"last_updated":{"hash":"ffc23a1a1e3ab7aa62fb3ad6205b0e1eca85221f","count":6793,"time":1635283096}},"value":null}}},"SDKPassMethod":{"name":"SDKPassMethod","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"entries":{"SDKPass_Pointer":{"name":"SDKPass_Pointer","refLine":57,"docStart":1788,"docEnd":1813,"docs":{"brief":"Pass as a pointer","tags":[{"tag":"","text":"Pass as a pointer"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":null},"SDKPass_ByValue":{"name":"SDKPass_ByValue","refLine":59,"docStart":1880,"docEnd":1911,"docs":{"brief":"Pass an object by value","tags":[{"tag":"","text":"Pass an object by value"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":null},"SDKPass_ByRef":{"name":"SDKPass_ByRef","refLine":60,"docStart":1931,"docEnd":1966,"docs":{"brief":"Pass an object by reference","tags":[{"tag":"","text":"Pass an object by reference"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":null},"SDKPass_Plain":{"name":"SDKPass_Plain","refLine":58,"docStart":1833,"docEnd":1859,"docs":{"brief":"Pass as plain data","tags":[{"tag":"","text":"Pass as plain data"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":null}}},"SDKType":{"name":"SDKType","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"entries":{"SDKType_CBaseEntity":{"name":"SDKType_CBaseEntity","refLine":45,"docStart":1279,"docEnd":1318,"docs":{"brief":"CBaseEntity (always as pointer)","tags":[{"tag":"","text":"CBaseEntity (always as pointer)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null},"SDKType_Float":{"name":"SDKType_Float","refLine":50,"docStart":1593,"docEnd":1612,"docs":{"brief":"Float (any)","tags":[{"tag":"","text":"Float (any)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null},"SDKType_CBasePlayer":{"name":"SDKType_CBasePlayer","refLine":46,"docStart":1342,"docEnd":1381,"docs":{"brief":"CBasePlayer (always as pointer)","tags":[{"tag":"","text":"CBasePlayer (always as pointer)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null},"SDKType_QAngle":{"name":"SDKType_QAngle","refLine":48,"docStart":1464,"docEnd":1506,"docs":{"brief":"QAngles (pointer, byval, or byref)","tags":[{"tag":"","text":"QAngles (pointer, byval, or byref)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null},"SDKType_PlainOldData":{"name":"SDKType_PlainOldData","refLine":49,"docStart":1531,"docEnd":1573,"docs":{"brief":"Integer/generic data <=32bit (any)","tags":[{"tag":"","text":"Integer/generic data <=32bit (any)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null},"SDKType_Edict":{"name":"SDKType_Edict","refLine":51,"docStart":1632,"docEnd":1667,"docs":{"brief":"edict_t (always as pointer)","tags":[{"tag":"","text":"edict_t (always as pointer)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null},"SDKType_Vector":{"name":"SDKType_Vector","refLine":47,"docStart":1402,"docEnd":1443,"docs":{"brief":"Vector (pointer, byval, or byref)","tags":[{"tag":"","text":"Vector (pointer, byval, or byref)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null},"SDKType_String":{"name":"SDKType_String","refLine":52,"docStart":1688,"docEnd":1738,"docs":{"brief":"NULL-terminated string (always as pointer)","tags":[{"tag":"","text":"NULL-terminated string (always as pointer)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null},"SDKType_Bool":{"name":"SDKType_Bool","refLine":53,"docStart":1757,"docEnd":1778,"docs":{"brief":"Boolean (any)","tags":[{"tag":"","text":"Boolean (any)"}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"value":null}}},"SDKLibrary":{"name":"SDKLibrary","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"entries":{"SDKLibrary_Server":{"name":"SDKLibrary_Server","refLine":33,"docStart":959,"docEnd":992,"docs":{"brief":"server.dll/server_i486.so","tags":[{"tag":"","text":"server.dll/server_i486.so"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":null},"SDKLibrary_Engine":{"name":"SDKLibrary_Engine","refLine":34,"docStart":1014,"docEnd":1044,"docs":{"brief":"engine.dll/engine_*.so","tags":[{"tag":"","text":"engine.dll/engine_*.so"}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":null}}},"SDKFuncConfSource":{"name":"SDKFuncConfSource","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896}},"entries":{"SDKConf_Virtual":{"name":"SDKConf_Virtual","refLine":73,"docStart":2599,"docEnd":2652,"docs":{"brief":"Read a virtual index from the Offsets section","tags":[{"tag":"","text":"Read a virtual index from the Offsets section"}]},"metadata":{"created":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896},"last_updated":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896}},"value":"0"},"SDKConf_Address":{"name":"SDKConf_Address","refLine":75,"docStart":2754,"docEnd":2804,"docs":{"brief":"Read an address from the Addresses section","tags":[{"tag":"","text":"Read an address from the Addresses section"}]},"metadata":{"created":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896},"last_updated":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896}},"value":"2"},"SDKConf_Signature":{"name":"SDKConf_Signature","refLine":74,"docStart":2678,"docEnd":2730,"docs":{"brief":"Read a signature from the Signatures section","tags":[{"tag":"","text":"Read a signature from the Signatures section"}]},"metadata":{"created":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896},"last_updated":{"hash":"0513f93f9d7e6e1daaebe0a0dab321a8f9367602","count":4347,"time":1399481896}},"value":"1"}}}},"typesets":{},"typedefs":{}},"sdktools_voice":{"functions":{"GetListenOverride":{"name":"GetListenOverride","refLine":113,"docStart":3661,"docEnd":3865,"docs":{"brief":"Retrieves the override of the receiver's ability to listen to the sender.","tags":[{"tag":"","text":"Retrieves the override of the receiver's ability to listen to the sender."},{"tag":"param:iReceiver","text":"The listener index."},{"tag":"param:iSender","text":"The sender index."},{"tag":"return","text":"The override value."}]},"metadata":{"created":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568},"last_updated":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568}},"kind":"native","returnType":"ListenOverride","arguments":[{"type":"int","name":"iReceiver","decl":"int iReceiver","default":null},{"type":"int","name":"iSender","decl":"int iSender","default":null}]},"SetClientListening":{"name":"SetClientListening","refLine":57,"docStart":1451,"docEnd":1647,"docs":{"brief":"Set the receiver ability to listen to the sender.","tags":[{"tag":"","text":"Set the receiver ability to listen to the sender."},{"tag":"param:iReceiver","text":"The listener index."},{"tag":"param:iSender","text":"The sender index."},{"tag":"return","text":"True if successful otherwise false."}]},"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"iReceiver","decl":"int iReceiver","default":null},{"type":"int","name":"iSender","decl":"int iSender","default":null},{"type":"bool","name":"bListen","decl":"bool bListen","default":null}]},"IsClientMuted":{"name":"IsClientMuted","refLine":122,"docStart":3931,"docEnd":4125,"docs":{"brief":"Retrieves if the muter has muted the mutee.","tags":[{"tag":"","text":"Retrieves if the muter has muted the mutee."},{"tag":"param:iMuter","text":"The muter index."},{"tag":"param:iMutee","text":"The mutee index."},{"tag":"return","text":"True if muter has muted mutee, false otherwise."}]},"metadata":{"created":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568},"last_updated":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"iMuter","decl":"int iMuter","default":null},{"type":"int","name":"iMutee","decl":"int iMutee","default":null}]},"SetListenOverride":{"name":"SetListenOverride","refLine":104,"docStart":3355,"docEnd":3580,"docs":{"brief":"Override the receiver's ability to listen to the sender.","tags":[{"tag":"","text":"Override the receiver's ability to listen to the sender."},{"tag":"param:iReceiver","text":"The listener index."},{"tag":"param:iSender","text":"The sender index."},{"tag":"param:unknown","text":"override"},{"tag":"return","text":"True if successful otherwise false."}]},"metadata":{"created":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568},"last_updated":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"iReceiver","decl":"int iReceiver","default":null},{"type":"int","name":"iSender","decl":"int iSender","default":null},{"type":"ListenOverride","name":"override","decl":"ListenOverride override","default":null}]},"GetClientListeningFlags":{"name":"GetClientListeningFlags","refLine":48,"docStart":1271,"docEnd":1406,"docs":{"brief":"Retrieve the client current listening flags.","tags":[{"tag":"","text":"Retrieve the client current listening flags."},{"tag":"param:client","text":"The client index"},{"tag":"return","text":"The current voice flags"}]},"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"SetClientListeningFlags":{"name":"SetClientListeningFlags","refLine":65,"docStart":2369,"docEnd":2487,"docs":{"brief":"Set the client listening flags.","tags":[{"tag":"","text":"Set the client listening flags."},{"tag":"param:client","text":"The client index"},{"tag":"param:flags","text":"The voice flags"}]},"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"flags","decl":"int flags","default":null}]},"OnClientSpeaking":{"name":"OnClientSpeaking","refLine":64,"docStart":2421,"docEnd":2513,"docs":{"brief":"Called when a client is speaking.","tags":[{"tag":"","text":"Called when a client is speaking."},{"tag":"param:client","text":"The client index"}]},"metadata":{"created":{"hash":"1b86c8564def3e4c6c031bf5a4a09671dba99438","count":6612,"time":1597755754},"last_updated":{"hash":"1b86c8564def3e4c6c031bf5a4a09671dba99438","count":6612,"time":1597755754}},"kind":"forward","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"GetClientListening":{"name":"GetClientListening","refLine":66,"docStart":1718,"docEnd":1916,"docs":{"brief":"Retrieves if the receiver can listen to the sender.","tags":[{"tag":"","text":"Retrieves if the receiver can listen to the sender."},{"tag":"param:iReceiver","text":"The listener index."},{"tag":"param:iSender","text":"The sender index."},{"tag":"return","text":"True if successful otherwise false."}]},"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"iReceiver","decl":"int iReceiver","default":null},{"type":"int","name":"iSender","decl":"int iSender","default":null}]},"OnClientSpeakingEnd":{"name":"OnClientSpeakingEnd","refLine":71,"docStart":2561,"docEnd":2654,"docs":{"brief":"Called once a client speaking end.","tags":[{"tag":"","text":"Called once a client speaking end."},{"tag":"param:client","text":"The client index"}]},"metadata":{"created":{"hash":"1b86c8564def3e4c6c031bf5a4a09671dba99438","count":6612,"time":1597755754},"last_updated":{"hash":"1b86c8564def3e4c6c031bf5a4a09671dba99438","count":6612,"time":1597755754}},"kind":"forward","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"VOICE_TEAM":{"name":"VOICE_TEAM","refLine":45,"docStart":2019,"docEnd":2084,"docs":{"brief":"Allow the client to always speak to team, even when dead.","tags":[{"tag":"","text":"Allow the client to always speak to team, even when dead."}]},"metadata":{"created":{"hash":"e4728b0413b1627d718bf370a6f8d9421bc50c92","count":1469,"time":1190581267},"last_updated":{"hash":"e4728b0413b1627d718bf370a6f8d9421bc50c92","count":1469,"time":1190581267}},"value":"8"},"_sdktools_voice_included":{"name":"_sdktools_voice_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856}},"value":""},"VOICE_MUTED":{"name":"VOICE_MUTED","refLine":25,"docStart":853,"docEnd":904,"docs":{"brief":"Mutes the client from speaking to everyone.","tags":[{"tag":"","text":"Mutes the client from speaking to everyone."}]},"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856}},"value":"1"},"VOICE_NORMAL":{"name":"VOICE_NORMAL","refLine":24,"docStart":773,"docEnd":827,"docs":{"brief":"Allow the client to listen and speak normally.","tags":[{"tag":"","text":"Allow the client to listen and speak normally."}]},"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856}},"value":"0"},"VOICE_LISTENTEAM":{"name":"VOICE_LISTENTEAM","refLine":46,"docStart":2114,"docEnd":2185,"docs":{"brief":"Allow the client to always hear teammates, including dead ones.","tags":[{"tag":"","text":"Allow the client to always hear teammates, including dead ones."}]},"metadata":{"created":{"hash":"e4728b0413b1627d718bf370a6f8d9421bc50c92","count":1469,"time":1190581267},"last_updated":{"hash":"e4728b0413b1627d718bf370a6f8d9421bc50c92","count":1469,"time":1190581267}},"value":"16"},"VOICE_LISTENALL":{"name":"VOICE_LISTENALL","refLine":27,"docStart":1007,"docEnd":1054,"docs":{"brief":"Allow the client to listen to everyone.","tags":[{"tag":"","text":"Allow the client to listen to everyone."}]},"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856}},"value":"4"},"VOICE_SPEAKALL":{"name":"VOICE_SPEAKALL","refLine":26,"docStart":932,"docEnd":978,"docs":{"brief":"Allow the client to speak to everyone.","tags":[{"tag":"","text":"Allow the client to speak to everyone."}]},"metadata":{"created":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856},"last_updated":{"hash":"15018176b5c14846100550d8b983afc65bb75ccc","count":1236,"time":1185941856}},"value":"2"}},"enums":{"ListenOverride":{"name":"ListenOverride","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568},"last_updated":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568}},"entries":{"Listen_Default":{"name":"Listen_Default","refLine":54,"docStart":2263,"docEnd":2294,"docs":{"brief":"Leave it up to the game","tags":[{"tag":"","text":"Leave it up to the game"}]},"metadata":{"created":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568},"last_updated":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568}},"value":"0"},"Listen_No":{"name":"Listen_No","refLine":55,"docStart":2310,"docEnd":2328,"docs":{"brief":"Can't hear","tags":[{"tag":"","text":"Can't hear"}]},"metadata":{"created":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568},"last_updated":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568}},"value":null},"Listen_Yes":{"name":"Listen_Yes","refLine":56,"docStart":2345,"docEnd":2361,"docs":{"brief":"Can hear","tags":[{"tag":"","text":"Can hear"}]},"metadata":{"created":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568},"last_updated":{"hash":"70bb4930f63808bbcc071d314fb83fefb11e0496","count":2797,"time":1252368568}},"value":null}}}},"typesets":{},"typedefs":{}},"sdktools_entinput":{"functions":{"SetVariantBool":{"name":"SetVariantBool","refLine":58,"docStart":2317,"docEnd":2410,"docs":{"brief":"Sets a bool value in the global variant object.","tags":[{"tag":"","text":"Sets a bool value in the global variant object."},{"tag":"param:val","text":"Input value."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"bool","name":"val","decl":"bool val","default":null}]},"SetVariantString":{"name":"SetVariantString","refLine":65,"docStart":2453,"docEnd":2543,"docs":{"brief":"Sets a string in the global variant object.","tags":[{"tag":"","text":"Sets a string in the global variant object."},{"tag":"param:str","text":"Input string."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null}]},"SetVariantInt":{"name":"SetVariantInt","refLine":72,"docStart":2596,"docEnd":2693,"docs":{"brief":"Sets an integer value in the global variant object.","tags":[{"tag":"","text":"Sets an integer value in the global variant object."},{"tag":"param:val","text":"Input value."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"val","decl":"int val","default":null}]},"SetVariantFloat":{"name":"SetVariantFloat","refLine":79,"docStart":2734,"docEnd":2837,"docs":{"brief":"Sets a floating point value in the global variant object.","tags":[{"tag":"","text":"Sets a floating point value in the global variant object."},{"tag":"param:val","text":"Input value."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"float","name":"val","decl":"float val","default":null}]},"SetVariantPosVector3D":{"name":"SetVariantPosVector3D","refLine":93,"docStart":3032,"docEnd":3143,"docs":{"brief":"Sets a 3D position vector in the global variant object.","tags":[{"tag":"","text":"Sets a 3D position vector in the global variant object."},{"tag":"param:vec","text":"Input position vector."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"SetVariantEntity":{"name":"SetVariantEntity","refLine":108,"docStart":3347,"docEnd":3474,"docs":{"brief":"Sets an entity in the global variant object.","tags":[{"tag":"","text":"Sets an entity in the global variant object."},{"tag":"param:entity","text":"Entity index."},{"tag":"error","text":"Invalid entity index."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]},"SetVariantColor":{"name":"SetVariantColor","refLine":100,"docStart":3203,"docEnd":3293,"docs":{"brief":"Sets a color in the global variant object.","tags":[{"tag":"","text":"Sets a color in the global variant object."},{"tag":"param:color","text":"Input color."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const int[4]","name":"color","decl":"const int color[4]","default":null}]},"SetVariantVector3D":{"name":"SetVariantVector3D","refLine":86,"docStart":2882,"docEnd":2975,"docs":{"brief":"Sets a 3D vector in the global variant object.","tags":[{"tag":"","text":"Sets a 3D vector in the global variant object."},{"tag":"param:vec","text":"Input vector."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"AcceptEntityInput":{"name":"AcceptEntityInput","refLine":51,"docStart":1661,"docEnd":2201,"docs":{"brief":"Invokes a named input method on an entity.\n\nAfter completion (successful or not), the current global variant is re-initalized.","tags":[{"tag":"","text":"Invokes a named input method on an entity.\n\nAfter completion (successful or not), the current global variant is re-initalized."},{"tag":"param:dest","text":"Destination entity index."},{"tag":"param:input","text":"Input action."},{"tag":"param:activator","text":"Entity index which initiated the sequence of actions (-1 for a NULL entity)."},{"tag":"param:caller","text":"Entity index from which this event is sent (-1 for a NULL entity)."},{"tag":"param:outputid","text":"Unknown."},{"tag":"return","text":"True if successful otherwise false."},{"tag":"error","text":"Invalid entity index or no mod support."}]},"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"dest","decl":"int dest","default":null},{"type":"const char[]","name":"input","decl":"const char[] input","default":null},{"type":"int","name":"activator","decl":"int activator","default":"-1"},{"type":"int","name":"caller","decl":"int caller","default":"-1"},{"type":"int","name":"outputid","decl":"int outputid","default":"0"}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_entinput_included":{"name":"_sdktools_entinput_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379},"last_updated":{"hash":"b50d7697f6d72c70c6fde2eb5f3b8a8fe8cc4913","count":1499,"time":1191009379}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"textparse":{"functions":{"SMC_CreateParser":{"name":"SMC_CreateParser","refLine":184,"docStart":7283,"docEnd":7425,"docs":{"brief":"Creates a new SMC file format parser. This is used to set parse hooks.","tags":[{"tag":"","text":"Creates a new SMC file format parser. This is used to set parse hooks."},{"tag":"return","text":"A new Handle to an SMC Parse structure."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"kind":"native","returnType":"SMCParser","arguments":[]},"SMC_SetParseStart":{"name":"SMC_SetParseStart","refLine":216,"docStart":8420,"docEnd":8613,"docs":{"brief":"Sets the SMC_ParseStart function of a parse Handle.","tags":[{"tag":"","text":"Sets the SMC_ParseStart function of a parse Handle."},{"tag":"param:smc","text":"Handle to an SMC Parse."},{"tag":"param:func","text":"SMC_ParseStart function."},{"tag":"error","text":"Invalid or corrupt Handle."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"smc","decl":"Handle smc","default":null},{"type":"SMC_ParseStart","name":"func","decl":"SMC_ParseStart func","default":null}]},"SMC_ParseFile":{"name":"SMC_ParseFile","refLine":91,"docStart":3295,"docEnd":3688,"docs":{"brief":"Parses an SMC file.","tags":[{"tag":"","text":"Parses an SMC file."},{"tag":"param:smc","text":"A Handle to an SMC Parse structure."},{"tag":"param:file","text":"A string containing the file path."},{"tag":"param:line","text":"An optional by reference cell to store the last line number read."},{"tag":"param:col","text":"An optional by reference cell to store the last column number read."},{"tag":"return","text":"An SMCParseError result."},{"tag":"error","text":"Invalid or corrupt Handle."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"kind":"native","returnType":"SMCError","arguments":[{"type":"Handle","name":"smc","decl":"Handle smc","default":null},{"type":"const char[]","name":"file","decl":"const char[] file","default":null},{"type":"int&","name":"line","decl":"int& line","default":"0"},{"type":"int&","name":"col","decl":"int& col","default":"0"}]},"SMC_GetErrorString":{"name":"SMC_GetErrorString","refLine":103,"docStart":3774,"docEnd":4178,"docs":{"brief":"Gets an error string for an SMCError code.","tags":[{"tag":"","text":"Gets an error string for an SMCError code."},{"tag":"note","text":"SMCError_Okay returns false."},{"tag":"note","text":"SMCError_Custom (which is thrown on SMCParse_HaltFail) returns false."},{"tag":"param:error","text":"The SMCParseError code."},{"tag":"param:buffer","text":"A string buffer for the error (contents undefined on failure)."},{"tag":"param:buf_max","text":"The maximum size of the buffer."},{"tag":"return","text":"True on success, false otherwise."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"kind":"native","returnType":"bool","arguments":[{"type":"SMCError","name":"error","decl":"SMCError error","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"buf_max","decl":"int buf_max","default":null}]},"SMC_SetParseEnd":{"name":"SMC_SetParseEnd","refLine":225,"docStart":8682,"docEnd":8862,"docs":{"brief":"Sets the SMC_ParseEnd of a parse handle.","tags":[{"tag":"","text":"Sets the SMC_ParseEnd of a parse handle."},{"tag":"param:smc","text":"Handle to an SMC Parse."},{"tag":"param:func","text":"SMC_ParseEnd function."},{"tag":"error","text":"Invalid or corrupt Handle."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"smc","decl":"Handle smc","default":null},{"type":"SMC_ParseEnd","name":"func","decl":"SMC_ParseEnd func","default":null}]},"SMC_SetReaders":{"name":"SMC_SetReaders","refLine":238,"docStart":8961,"docEnd":9207,"docs":{"brief":"Sets the three main reader functions.","tags":[{"tag":"","text":"Sets the three main reader functions."},{"tag":"param:smc","text":"An SMC parse Handle."},{"tag":"param:ns","text":"An SMC_NewSection function pointer."},{"tag":"param:kv","text":"An SMC_KeyValue function pointer."},{"tag":"param:es","text":"An SMC_EndSection function pointer."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"smc","decl":"Handle smc","default":null},{"type":"SMC_NewSection","name":"ns","decl":"SMC_NewSection ns","default":null},{"type":"SMC_KeyValue","name":"kv","decl":"SMC_KeyValue kv","default":null},{"type":"SMC_EndSection","name":"es","decl":"SMC_EndSection es","default":null}]},"SMC_SetRawLine":{"name":"SMC_SetRawLine","refLine":246,"docStart":9307,"docEnd":9452,"docs":{"brief":"Sets a raw line reader on an SMC parser Handle.","tags":[{"tag":"","text":"Sets a raw line reader on an SMC parser Handle."},{"tag":"param:smc","text":"Handle to an SMC Parse."},{"tag":"param:func","text":"SMC_RawLine function."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"smc","decl":"Handle smc","default":null},{"type":"SMC_RawLine","name":"func","decl":"SMC_RawLine func","default":null}]}},"methodmaps":{"SMCParser":{"name":"SMCParser","refLine":127,"docStart":5221,"docEnd":5538,"docs":{"brief":"An SMCParser is a callback-driven parser for SourceMod configuration files.\nSMC files are similar to Valve KeyValues format, with two key differences:\n(1) SMC cannot handle single-item entries (that is, a key with no value).\n(2) SMC files can have multi-line comment blocks, whereas KeyValues cannot.","tags":[{"tag":"","text":"An SMCParser is a callback-driven parser for SourceMod configuration files.\nSMC files are similar to Valve KeyValues format, with two key differences:\n(1) SMC cannot handle single-item entries (that is, a key with no value).\n(2) SMC files can have multi-line comment blocks, whereas KeyValues cannot."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"parent":"Handle","methods":{"ParseFile":{"name":"ParseFile","refLine":138,"docStart":5647,"docEnd":5938,"docs":{"brief":"Parses an SMC file.","tags":[{"tag":"","text":"Parses an SMC file."},{"tag":"param:file","text":"A string containing the file path."},{"tag":"param:line","text":"An optional variable to store the last line number read."},{"tag":"param:col","text":"An optional variable to store the last column number read."},{"tag":"return","text":"An SMCParseError result."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"kind":"native","returnType":"SMCError","arguments":[{"type":"const char[]","name":"file","decl":"const char[] file","default":null},{"type":"int&","name":"line","decl":"int& line","default":"0"},{"type":"int&","name":"col","decl":"int& col","default":"0"}]},"GetErrorString":{"name":"GetErrorString","refLine":176,"docStart":6893,"docEnd":7194,"docs":{"brief":"Gets an error string for an SMCError code.","tags":[{"tag":"","text":"Gets an error string for an SMCError code."},{"tag":"param:error","text":"The SMCParseError code."},{"tag":"param:buffer","text":"A string buffer for the error (contents undefined on failure)."},{"tag":"param:buf_max","text":"The maximum size of the buffer."},{"tag":"return","text":"The number of characters written to buffer."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"kind":"native","returnType":"void","arguments":[{"type":"SMCError","name":"error","decl":"SMCError error","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"buf_max","decl":"int buf_max","default":null}]},"SMCParser":{"name":"SMCParser","refLine":130,"docStart":5574,"docEnd":5613,"docs":{"brief":"Create a new SMC file format parser.","tags":[{"tag":"","text":"Create a new SMC file format parser."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"kind":"native","returnType":"SMCParser","arguments":[]}},"properties":{"OnStart":{"name":"OnStart","refLine":141,"docStart":6027,"docEnd":6084,"docs":{"brief":"Sets the callback for receiving SMC_ParseStart events.","tags":[{"tag":"","text":"Sets the callback for receiving SMC_ParseStart events."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"SMC_ParseStart","getter":false,"setter":true},"OnLeaveSection":{"name":"OnLeaveSection","refLine":156,"docStart":6461,"docEnd":6518,"docs":{"brief":"Sets the callback for receiving SMC_EndSection events.","tags":[{"tag":"","text":"Sets the callback for receiving SMC_EndSection events."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"SMC_EndSection","getter":false,"setter":true},"OnEnterSection":{"name":"OnEnterSection","refLine":151,"docStart":6309,"docEnd":6366,"docs":{"brief":"Sets the callback for receiving SMC_NewSection events.","tags":[{"tag":"","text":"Sets the callback for receiving SMC_NewSection events."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"SMC_NewSection","getter":false,"setter":true},"OnEnd":{"name":"OnEnd","refLine":146,"docStart":6172,"docEnd":6227,"docs":{"brief":"Sets the callback for receiving SMC_ParseEnd events.","tags":[{"tag":"","text":"Sets the callback for receiving SMC_ParseEnd events."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"SMC_ParseEnd","getter":false,"setter":true},"OnKeyValue":{"name":"OnKeyValue","refLine":161,"docStart":6613,"docEnd":6668,"docs":{"brief":"Sets the callback for receiving SMC_KeyValue events.","tags":[{"tag":"","text":"Sets the callback for receiving SMC_KeyValue events."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"SMC_KeyValue","getter":false,"setter":true},"OnRawLine":{"name":"OnRawLine","refLine":166,"docStart":6755,"docEnd":6809,"docs":{"brief":"Sets the callback for receiving SMC_RawLine events.","tags":[{"tag":"","text":"Sets the callback for receiving SMC_RawLine events."}]},"metadata":{"created":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"SMC_RawLine","getter":false,"setter":true}}}},"enumstructs":{},"constants":{},"defines":{"_textparse_included":{"name":"_textparse_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":""}},"enums":{"SMCResult":{"name":"SMCResult","refLine":48,"docStart":1959,"docEnd":1995,"docs":{"brief":"Parse result directive.","tags":[{"tag":"","text":"Parse result directive."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"entries":{"SMCParse_Continue":{"name":"SMCParse_Continue","refLine":50,"docStart":2038,"docEnd":2062,"docs":{"brief":"Continue parsing","tags":[{"tag":"","text":"Continue parsing"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCParse_HaltFail":{"name":"SMCParse_HaltFail","refLine":52,"docStart":2131,"docEnd":2170,"docs":{"brief":"Stop parsing and return failure","tags":[{"tag":"","text":"Stop parsing and return failure"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCParse_Halt":{"name":"SMCParse_Halt","refLine":51,"docStart":2083,"docEnd":2108,"docs":{"brief":"Stop parsing here","tags":[{"tag":"","text":"Stop parsing here"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null}}},"SMCError":{"name":"SMCError","refLine":58,"docStart":2178,"docEnd":2209,"docs":{"brief":"Parse error codes.","tags":[{"tag":"","text":"Parse error codes."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"entries":{"SMCError_InvalidSection4":{"name":"SMCError_InvalidSection4","refLine":67,"docStart":2740,"docEnd":2790,"docs":{"brief":"A section ending has no matching beginning","tags":[{"tag":"","text":"A section ending has no matching beginning"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_Okay":{"name":"SMCError_Okay","refLine":60,"docStart":2251,"docEnd":2267,"docs":{"brief":"No error","tags":[{"tag":"","text":"No error"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":"0"},"SMCError_StreamError":{"name":"SMCError_StreamError","refLine":62,"docStart":2347,"docEnd":2381,"docs":{"brief":"The stream died... somehow","tags":[{"tag":"","text":"The stream died... somehow"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_StreamOpen":{"name":"SMCError_StreamOpen","refLine":61,"docStart":2292,"docEnd":2321,"docs":{"brief":"Stream failed to open","tags":[{"tag":"","text":"Stream failed to open"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_InvalidSection2":{"name":"SMCError_InvalidSection2","refLine":65,"docStart":2567,"docEnd":2616,"docs":{"brief":"A section was declared without any header","tags":[{"tag":"","text":"A section was declared without any header"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_InvalidSection5":{"name":"SMCError_InvalidSection5","refLine":68,"docStart":2819,"docEnd":2869,"docs":{"brief":"A section beginning has no matching ending","tags":[{"tag":"","text":"A section beginning has no matching ending"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_InvalidSection1":{"name":"SMCError_InvalidSection1","refLine":64,"docStart":2471,"docEnd":2538,"docs":{"brief":"A section was declared without quotes, and had extra tokens","tags":[{"tag":"","text":"A section was declared without quotes, and had extra tokens"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_InvalidTokens":{"name":"SMCError_InvalidTokens","refLine":69,"docStart":2897,"docEnd":2959,"docs":{"brief":"There were too many unidentifiable strings on one line","tags":[{"tag":"","text":"There were too many unidentifiable strings on one line"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_TokenOverflow":{"name":"SMCError_TokenOverflow","refLine":70,"docStart":2987,"docEnd":3022,"docs":{"brief":"The token buffer overflowed","tags":[{"tag":"","text":"The token buffer overflowed"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_Custom":{"name":"SMCError_Custom","refLine":63,"docStart":2403,"docEnd":2442,"docs":{"brief":"A custom handler threw an error","tags":[{"tag":"","text":"A custom handler threw an error"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_InvalidProperty1":{"name":"SMCError_InvalidProperty1","refLine":71,"docStart":3052,"docEnd":3106,"docs":{"brief":"A property was declared outside of any section","tags":[{"tag":"","text":"A property was declared outside of any section"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null},"SMCError_InvalidSection3":{"name":"SMCError_InvalidSection3","refLine":66,"docStart":2645,"docEnd":2711,"docs":{"brief":"A section ending was declared with too many unknown tokens","tags":[{"tag":"","text":"A section ending was declared with too many unknown tokens"}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894}},"value":null}}}},"typesets":{},"typedefs":{"SMC_ParseStart":{"name":"SMC_ParseStart","refLine":77,"docStart":3131,"docEnd":3214,"docs":{"brief":"Called when parsing is started.","tags":[{"tag":"","text":"Called when parsing is started."},{"tag":"param:smc","text":"The SMC Parse Handle."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"function void(SMCParser smc)","parsedSignature":{"returnType":"void","arguments":[{"type":"SMCParser","name":"smc","decl":"SMCParser smc","default":null}]}},"SMC_NewSection":{"name":"SMC_NewSection","refLine":87,"docStart":3275,"docEnd":3632,"docs":{"brief":"Called when the parser is entering a new section or sub-section.\n\nNote: Enclosing quotes are always stripped.","tags":[{"tag":"","text":"Called when the parser is entering a new section or sub-section.\n\nNote: Enclosing quotes are always stripped."},{"tag":"param:smc","text":"The SMC Parser."},{"tag":"param:name","text":"String containing section name."},{"tag":"param:opt_quotes","text":"True if the section name was quote-enclosed in the file."},{"tag":"return","text":"An SMCResult action to take."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"function SMCResult(SMCParser smc, const char[] name, bool opt_quotes)","parsedSignature":{"returnType":"SMCResult","arguments":[{"type":"SMCParser","name":"smc","decl":"SMCParser smc","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":null},{"type":"bool","name":"opt_quotes","decl":"bool opt_quotes","default":null}]}},"SMC_EndSection":{"name":"SMC_EndSection","refLine":105,"docStart":4329,"docEnd":4486,"docs":{"brief":"Called when the parser finds the end of the current section.","tags":[{"tag":"","text":"Called when the parser finds the end of the current section."},{"tag":"param:smc","text":"The SMCParser."},{"tag":"return","text":"An SMCResult action to take."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"function SMCResult(SMCParser smc)","parsedSignature":{"returnType":"SMCResult","arguments":[{"type":"SMCParser","name":"smc","decl":"SMCParser smc","default":null}]}},"SMC_ParseEnd":{"name":"SMC_ParseEnd","refLine":113,"docStart":4552,"docEnd":4758,"docs":{"brief":"Called when parsing is halted.","tags":[{"tag":"","text":"Called when parsing is halted."},{"tag":"param:smc","text":"The SMCParser."},{"tag":"param:halted","text":"True if abnormally halted, false otherwise."},{"tag":"param:failed","text":"True if parsing failed, false otherwise."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"function void(SMCParser smc, bool halted, bool failed)","parsedSignature":{"returnType":"void","arguments":[{"type":"SMCParser","name":"smc","decl":"SMCParser smc","default":null},{"type":"bool","name":"halted","decl":"bool halted","default":null},{"type":"bool","name":"failed","decl":"bool failed","default":null}]}},"SMC_RawLine":{"name":"SMC_RawLine","refLine":121,"docStart":4843,"docEnd":5127,"docs":{"brief":"Callback for whenever a new line of text is about to be parsed.","tags":[{"tag":"","text":"Callback for whenever a new line of text is about to be parsed."},{"tag":"param:smc","text":"The SMCParser."},{"tag":"param:line","text":"A string containing the raw line from the file."},{"tag":"param:lineno","text":"The line number it occurs on."},{"tag":"return","text":"An SMCResult action to take."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"function SMCResult(SMCParser smc, const char[] line, int lineno)","parsedSignature":{"returnType":"SMCResult","arguments":[{"type":"SMCParser","name":"smc","decl":"SMCParser smc","default":null},{"type":"const char[]","name":"line","decl":"const char[] line","default":null},{"type":"int","name":"lineno","decl":"int lineno","default":null}]}},"SMC_KeyValue":{"name":"SMC_KeyValue","refLine":99,"docStart":3734,"docEnd":4191,"docs":{"brief":"Called when the parser finds a new key/value pair.\n\nNote: Enclosing quotes are always stripped.","tags":[{"tag":"","text":"Called when the parser finds a new key/value pair.\n\nNote: Enclosing quotes are always stripped."},{"tag":"param:smc","text":"The SMCParser."},{"tag":"param:key","text":"String containing key name."},{"tag":"param:value","text":"String containing value name."},{"tag":"param:key_quotes","text":"Whether or not the key was enclosed in quotes."},{"tag":"param:value_quotes","text":"Whether or not the value was enclosed in quotes."},{"tag":"return","text":"An SMCResult action to take."}]},"metadata":{"created":{"hash":"ad376ff0b8d46637b924ed3b3f09e158afd1c4ea","count":4729,"time":1407127894},"last_updated":{"hash":"8479c2f067188c5cade70eee1563e722d1ce73b6","count":5001,"time":1415565187}},"type":"function SMCResult(SMCParser smc, const char[] key, const char[] value, bool key_quotes, bool value_quotes)","parsedSignature":{"returnType":"SMCResult","arguments":[{"type":"SMCParser","name":"smc","decl":"SMCParser smc","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null},{"type":"bool","name":"key_quotes","decl":"bool key_quotes","default":null},{"type":"bool","name":"value_quotes","decl":"bool value_quotes","default":null}]}}}},"adt_stack":{"functions":{"PopStack":{"name":"PopStack","refLine":222,"docStart":8211,"docEnd":8402,"docs":{"brief":"Pops a value off a stack, ignoring it completely.","tags":[{"tag":"","text":"Pops a value off a stack, ignoring it completely."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"return","text":"True if something was popped, false otherwise."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"4cb29eb0541405db43c202fcf769dcc1ebf2011c","count":5035,"time":1416084377}},"kind":"stock","returnType":"bool","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null}]},"CreateStack":{"name":"CreateStack","refLine":132,"docStart":4762,"docEnd":5464,"docs":{"brief":"Creates a stack structure. A stack is a LIFO (last in, first out)\nvector (array) of items. It has O(1) insertion and O(1) removal.\n\nStacks have two operations: Push (adding an item) and Pop (removes\nitems in reverse-push order).\n\nThe contents of the stack are uniform; i.e. storing a string and then\nretrieving it as an integer is NOT the same as StringToInt()!\n\nThe \"blocksize\" determines how many cells each slot has; it cannot\nbe changed after creation.","tags":[{"tag":"","text":"Creates a stack structure. A stack is a LIFO (last in, first out)\nvector (array) of items. It has O(1) insertion and O(1) removal.\n\nStacks have two operations: Push (adding an item) and Pop (removes\nitems in reverse-push order).\n\nThe contents of the stack are uniform; i.e. storing a string and then\nretrieving it as an integer is NOT the same as StringToInt()!\n\nThe \"blocksize\" determines how many cells each slot has; it cannot\nbe changed after creation."},{"tag":"param:blocksize","text":"The number of cells each entry in the stack can\nhold. For example, 32 cells is equivalent to:\nnew Array[X][32]"},{"tag":"return","text":"New stack Handle."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"4cb29eb0541405db43c202fcf769dcc1ebf2011c","count":5035,"time":1416084377}},"kind":"native","returnType":"ArrayStack","arguments":[{"type":"int","name":"blocksize","decl":"int blocksize","default":"1"}]},"PopStackString":{"name":"PopStackString","refLine":119,"docStart":4096,"docEnd":4363,"docs":{"brief":"Pops a string value from a stack.","tags":[{"tag":"","text":"Pops a string value from a stack."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"param:buffer","text":"Buffer to store string."},{"tag":"param:maxlength","text":"Maximum size of the buffer."},{"tag":"return","text":"True on success, false if the stack is empty."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"int&","name":"written","decl":"int& written","default":"0"}]},"IsStackEmpty":{"name":"IsStackEmpty","refLine":140,"docStart":4868,"docEnd":5025,"docs":{"brief":"Checks if a stack is empty.","tags":[{"tag":"","text":"Checks if a stack is empty."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"return","text":"True if empty, false if not empty."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null}]},"PushStackCell":{"name":"PushStackCell","refLine":144,"docStart":5517,"docEnd":5795,"docs":{"brief":"Pushes a value onto the end of the stack, adding a new index.\n\nThis may safely be used even if the stack has a blocksize\ngreater than 1.","tags":[{"tag":"","text":"Pushes a value onto the end of the stack, adding a new index.\n\nThis may safely be used even if the stack has a blocksize\ngreater than 1."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"param:value","text":"Value to push."},{"tag":"error","text":"Invalid Handle or out of memory."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"4cb29eb0541405db43c202fcf769dcc1ebf2011c","count":5035,"time":1416084377}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null},{"type":"any","name":"value","decl":"any value","default":null}]},"PopStackCell":{"name":"PopStackCell","refLine":108,"docStart":3624,"docEnd":4011,"docs":{"brief":"Pops a cell value from a stack.","tags":[{"tag":"","text":"Pops a cell value from a stack."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"param:value","text":"Variable to store the value."},{"tag":"param:block","text":"Optionally specify which block to read from\n(useful if the blocksize > 0)."},{"tag":"param:asChar","text":"Optionally read as a byte instead of a cell."},{"tag":"return","text":"True on success, false if the stack is empty."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null},{"type":"any&","name":"value","decl":"any& value","default":null},{"type":"int","name":"block","decl":"int block","default":"0"},{"type":"bool","name":"asChar","decl":"bool asChar","default":"false"}]},"PopStackArray":{"name":"PopStackArray","refLine":131,"docStart":4453,"docEnd":4806,"docs":{"brief":"Pops an array of cells from a stack.","tags":[{"tag":"","text":"Pops an array of cells from a stack."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"param:buffer","text":"Buffer to store the array in."},{"tag":"param:size","text":"If not set, assumes the buffer size is equal to the\nblocksize. Otherwise, the size passed is used."},{"tag":"return","text":"True on success, false if the stack is empty."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"21c0466b3d71093885134f5070a7cf22f7c88713","count":2024,"time":1209032744}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null},{"type":"any[]","name":"buffer","decl":"any[] buffer","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"PushStackString":{"name":"PushStackString","refLine":154,"docStart":5852,"docEnd":6071,"docs":{"brief":"Pushes a copy of a string onto the end of a stack, truncating it if it is\ntoo big.","tags":[{"tag":"","text":"Pushes a copy of a string onto the end of a stack, truncating it if it is\ntoo big."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"param:value","text":"String to push."},{"tag":"error","text":"Invalid Handle or out of memory."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"4cb29eb0541405db43c202fcf769dcc1ebf2011c","count":5035,"time":1416084377}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"PushStackArray":{"name":"PushStackArray","refLine":168,"docStart":6139,"docEnd":6667,"docs":{"brief":"Pushes a copy of an array of cells onto the end of a stack. The cells\nare pushed as a block (i.e. the entire array takes up one stack slot),\nrather than pushing each cell individually.","tags":[{"tag":"","text":"Pushes a copy of an array of cells onto the end of a stack. The cells\nare pushed as a block (i.e. the entire array takes up one stack slot),\nrather than pushing each cell individually."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"param:values","text":"Block of values to copy."},{"tag":"param:size","text":"If not set, the number of elements copied from the array\nwill be equal to the blocksize. If set higher than the\nblocksize, the operation will be truncated."},{"tag":"error","text":"Invalid Handle or out of memory."}]},"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"4cb29eb0541405db43c202fcf769dcc1ebf2011c","count":5035,"time":1416084377}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null},{"type":"const any[]","name":"values","decl":"const any[] values","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"GetStackBlockSize":{"name":"GetStackBlockSize","refLine":240,"docStart":8611,"docEnd":8783,"docs":{"brief":"Returns the blocksize the stack was created with.","tags":[{"tag":"","text":"Returns the blocksize the stack was created with."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"return","text":"The blocksize of the stack."},{"tag":"error","text":"Invalid Handle"}]},"metadata":{"created":{"hash":"86363dd3ecf27d57ad1bfe01d63fee68b435291a","count":6053,"time":1486668374},"last_updated":{"hash":"86363dd3ecf27d57ad1bfe01d63fee68b435291a","count":6053,"time":1486668374}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"stack","decl":"Handle stack","default":null}]}},"methodmaps":{"ArrayStack":{"name":"ArrayStack","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"4cb29eb0541405db43c202fcf769dcc1ebf2011c","count":5035,"time":1416084377},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"parent":"Handle","methods":{"PopArray":{"name":"PopArray","refLine":114,"docStart":4638,"docEnd":4932,"docs":{"brief":"Pops an array of cells from a stack.","tags":[{"tag":"","text":"Pops an array of cells from a stack."},{"tag":"param:buffer","text":"Buffer to store the array in."},{"tag":"param:size","text":"If not set, assumes the buffer size is equal to the\nblocksize. Otherwise, the size passed is used."},{"tag":"error","text":"The stack is empty."}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"kind":"native","returnType":"void","arguments":[{"type":"any[]","name":"buffer","decl":"any[] buffer","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"Push":{"name":"Push","refLine":71,"docStart":2816,"docEnd":3014,"docs":{"brief":"Pushes a value onto the end of the stack, adding a new index.\n\nThis may safely be used even if the stack has a blocksize\ngreater than 1.","tags":[{"tag":"","text":"Pushes a value onto the end of the stack, adding a new index.\n\nThis may safely be used even if the stack has a blocksize\ngreater than 1."},{"tag":"param:value","text":"Value to push."}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"kind":"native","returnType":"void","arguments":[{"type":"any","name":"value","decl":"any value","default":null}]},"ArrayStack":{"name":"ArrayStack","refLine":55,"docStart":1696,"docEnd":2401,"docs":{"brief":"Creates a stack structure. A stack is a LIFO (last in, first out)\nvector (array) of items. It has O(1) insertion and O(1) removal.\n\nStacks have two operations: Push (adding an item) and Pop (removes\nitems in reverse-push order).\n\nThe contents of the stack are uniform; i.e. storing a string and then\nretrieving it as an integer is NOT the same as StringToInt()!\n\nThe \"blocksize\" determines how many cells each slot has; it cannot\nbe changed after creation.","tags":[{"tag":"","text":"Creates a stack structure. A stack is a LIFO (last in, first out)\nvector (array) of items. It has O(1) insertion and O(1) removal.\n\nStacks have two operations: Push (adding an item) and Pop (removes\nitems in reverse-push order).\n\nThe contents of the stack are uniform; i.e. storing a string and then\nretrieving it as an integer is NOT the same as StringToInt()!\n\nThe \"blocksize\" determines how many cells each slot has; it cannot\nbe changed after creation."},{"tag":"param:blocksize","text":"The number of cells each entry in the stack can\nhold. For example, 32 cells is equivalent to:\nnew Array[X][32]"}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"kind":"native","returnType":"ArrayStack","arguments":[{"type":"int","name":"blocksize","decl":"int blocksize","default":"1"}]},"Clone":{"name":"Clone","refLine":63,"docStart":2451,"docEnd":2775,"docs":{"brief":"Clones an stack, returning a new handle with the same size and data.\nThis should NOT be confused with CloneHandle. This is a completely new\nhandle with the same data but no relation to the original. It should\nclosed when no longer needed.","tags":[{"tag":"","text":"Clones an stack, returning a new handle with the same size and data.\nThis should NOT be confused with CloneHandle. This is a completely new\nhandle with the same data but no relation to the original. It should\nclosed when no longer needed."},{"tag":"return","text":"New handle to the cloned stack object"}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"kind":"native","returnType":"ArrayStack","arguments":[]},"PushArray":{"name":"PushArray","refLine":88,"docStart":3251,"docEnd":3775,"docs":{"brief":"Pushes a copy of an array of cells onto the end of a stack. The cells\nare pushed as a block (i.e. the entire array takes up one stack slot),\nrather than pushing each cell individually.","tags":[{"tag":"","text":"Pushes a copy of an array of cells onto the end of a stack. The cells\nare pushed as a block (i.e. the entire array takes up one stack slot),\nrather than pushing each cell individually."},{"tag":"param:stack","text":"Stack Handle."},{"tag":"param:values","text":"Block of values to copy."},{"tag":"param:size","text":"If not set, the number of elements copied from the array\nwill be equal to the blocksize. If set higher than the\nblocksize, the operation will be truncated."}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"kind":"native","returnType":"void","arguments":[{"type":"const any[]","name":"values","decl":"const any[] values","default":null},{"type":"int","name":"size","decl":"int size","default":"-1"}]},"Pop":{"name":"Pop","refLine":97,"docStart":3845,"docEnd":4178,"docs":{"brief":"Pops a cell value from a stack.","tags":[{"tag":"","text":"Pops a cell value from a stack."},{"tag":"param:block","text":"Optionally specify which block to read from\n(useful if the blocksize > 0)."},{"tag":"param:asChar","text":"Optionally read as a byte instead of a cell."},{"tag":"return","text":"Value popped from the stack."},{"tag":"error","text":"The stack is empty."}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"kind":"native","returnType":"any","arguments":[{"type":"int","name":"block","decl":"int block","default":"0"},{"type":"bool","name":"asChar","decl":"bool asChar","default":"false"}]},"PushString":{"name":"PushString","refLine":77,"docStart":3057,"docEnd":3193,"docs":{"brief":"Pushes a copy of a string onto the end of a stack, truncating it if it\nis too big.","tags":[{"tag":"","text":"Pushes a copy of a string onto the end of a stack, truncating it if it\nis too big."},{"tag":"param:value","text":"String to push."}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"PopString":{"name":"PopString","refLine":106,"docStart":4240,"docEnd":4553,"docs":{"brief":"Pops a string value from a stack.","tags":[{"tag":"","text":"Pops a string value from a stack."},{"tag":"param:buffer","text":"Buffer to store string."},{"tag":"param:maxlength","text":"Maximum size of the buffer."},{"tag":"param:written","text":"Number of characters written to buffer, not including\nthe null terminator."},{"tag":"error","text":"The stack is empty."}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"kind":"native","returnType":"void","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"int&","name":"written","decl":"int& written","default":"0"}]}},"properties":{"Empty":{"name":"Empty","refLine":117,"docStart":4995,"docEnd":5050,"docs":{"brief":"Returns true if the stack is empty, false otherwise.","tags":[{"tag":"","text":"Returns true if the stack is empty, false otherwise."}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"type":"bool","getter":true,"setter":false},"BlockSize":{"name":"BlockSize","refLine":122,"docStart":5108,"docEnd":5161,"docs":{"brief":"Retrieve the blocksize the stack was created with.","tags":[{"tag":"","text":"Retrieve the blocksize the stack was created with."}]},"metadata":{"created":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157},"last_updated":{"hash":"611bad40369dd16aeecbc2b7370fc2397f9ae987","count":6589,"time":1594267157}},"type":"int","getter":true,"setter":false}}}},"enumstructs":{},"constants":{},"defines":{"_adt_stack_included":{"name":"_adt_stack_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787},"last_updated":{"hash":"046ce18e8b0c3dce7d972ede102a89daa53b8980","count":2000,"time":1208066787}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"protobuf":{"functions":{"PbReadVector2D":{"name":"PbReadVector2D","refLine":353,"docStart":14526,"docEnd":14836,"docs":{"brief":"Reads an XY vector value from a protobuf message.","tags":[{"tag":"","text":"Reads an XY vector value from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination vector buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float[2]","name":"buffer","decl":"float buffer[2]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadRepeatedVector2D":{"name":"PbReadRepeatedVector2D","refLine":226,"docStart":7763,"docEnd":8104,"docs":{"brief":"Reads an XY vector value from a protobuf message repeated field.","tags":[{"tag":"","text":"Reads an XY vector value from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"param:buffer","text":"Destination vector buffer."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"float[2]","name":"buffer","decl":"float buffer[2]","default":null}]},"PbAddColor":{"name":"PbAddColor","refLine":501,"docStart":19997,"docEnd":20260,"docs":{"brief":"Add an RGBA color to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an RGBA color to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:color","text":"Color value to add."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const int[4]","name":"color","decl":"const int color[4]","default":null}]},"PbAddVector":{"name":"PbAddVector","refLine":521,"docStart":20684,"docEnd":20946,"docs":{"brief":"Add an XYZ vector to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an XYZ vector to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:vec","text":"Vector value to add."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"PbReadRepeatedBool":{"name":"PbReadRepeatedBool","refLine":165,"docStart":5604,"docEnd":5908,"docs":{"brief":"Reads a bool from a protobuf message repeated field.","tags":[{"tag":"","text":"Reads a bool from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"return","text":"Boolean value read."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"PbReadRepeatedVector":{"name":"PbReadRepeatedVector","refLine":214,"docStart":7330,"docEnd":7672,"docs":{"brief":"Reads an XYZ vector value from a protobuf message repeated field.","tags":[{"tag":"","text":"Reads an XYZ vector value from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"param:buffer","text":"Destination vector buffer."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"float[3]","name":"buffer","decl":"float buffer[3]","default":null}]},"PbSetColor":{"name":"PbSetColor","refLine":418,"docStart":16967,"docEnd":17262,"docs":{"brief":"Sets an RGBA color on a protobuf message.","tags":[{"tag":"","text":"Sets an RGBA color on a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:color","text":"Color value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const int[4]","name":"color","decl":"const int color[4]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbSetString":{"name":"PbSetString","refLine":407,"docStart":16560,"docEnd":16851,"docs":{"brief":"Sets a string on a protobuf message.","tags":[{"tag":"","text":"Sets a string on a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"String value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbSetVector2D":{"name":"PbSetVector2D","refLine":451,"docStart":18198,"docEnd":18491,"docs":{"brief":"Sets an XY vector on a protobuf message.","tags":[{"tag":"","text":"Sets an XY vector on a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:vec","text":"Vector value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[2]","name":"vec","decl":"const float vec[2]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadFloat":{"name":"PbReadFloat","refLine":60,"docStart":2085,"docEnd":2392,"docs":{"brief":"Reads a float or downcasted double from a protobuf message.","tags":[{"tag":"","text":"Reads a float or downcasted double from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"return","text":"Float value read."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"42b415952bc606fff1ee94ff3a2cde3d721b5cc0","count":3814,"time":1363455095}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadRepeatedString":{"name":"PbReadRepeatedString","refLine":178,"docStart":5985,"docEnd":6378,"docs":{"brief":"Reads a string from a protobuf message repeated field.","tags":[{"tag":"","text":"Reads a string from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"size","decl":"int size","default":null}]},"PbReadRepeatedFloat":{"name":"PbReadRepeatedFloat","refLine":154,"docStart":5201,"docEnd":5525,"docs":{"brief":"Reads a float or downcasted double from a protobuf message repeated field.","tags":[{"tag":"","text":"Reads a float or downcasted double from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"return","text":"Float value read."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"PbSetInt":{"name":"PbSetInt","refLine":374,"docStart":15311,"docEnd":15653,"docs":{"brief":"Sets an int32, uint32, sint32, fixed32, sfixed32, or enum value on a protobuf message.","tags":[{"tag":"","text":"Sets an int32, uint32, sint32, fixed32, sfixed32, or enum value on a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Integer value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"value","decl":"int value","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbAddFloat":{"name":"PbAddFloat","refLine":471,"docStart":18988,"docEnd":19255,"docs":{"brief":"Add a float or double to a protobuf message repeated field.","tags":[{"tag":"","text":"Add a float or double to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Float value to add."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float","name":"value","decl":"float value","default":null}]},"PbReadInt":{"name":"PbReadInt","refLine":49,"docStart":1673,"docEnd":2000,"docs":{"brief":"Reads an int32, uint32, sint32, fixed32, or sfixed32 from a protobuf message.","tags":[{"tag":"","text":"Reads an int32, uint32, sint32, fixed32, or sfixed32 from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"return","text":"Integer value read."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"42b415952bc606fff1ee94ff3a2cde3d721b5cc0","count":3814,"time":1363455095}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadColor":{"name":"PbReadColor","refLine":320,"docStart":13262,"docEnd":13572,"docs":{"brief":"Reads an RGBA color value from a protobuf message.","tags":[{"tag":"","text":"Reads an RGBA color value from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination color buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int[4]","name":"buffer","decl":"int buffer[4]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadRepeatedColor":{"name":"PbReadRepeatedColor","refLine":190,"docStart":6475,"docEnd":6816,"docs":{"brief":"Reads an RGBA color value from a protobuf message repeated field.","tags":[{"tag":"","text":"Reads an RGBA color value from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"param:buffer","text":"Destination color buffer."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"int[4]","name":"buffer","decl":"int buffer[4]","default":null}]},"PbSetBool":{"name":"PbSetBool","refLine":396,"docStart":16164,"docEnd":16454,"docs":{"brief":"Sets a bool on a protobuf message.","tags":[{"tag":"","text":"Sets a bool on a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Boolean value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"bool","name":"value","decl":"bool value","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadAngle":{"name":"PbReadAngle","refLine":331,"docStart":13679,"docEnd":13988,"docs":{"brief":"Reads an XYZ angle value from a protobuf message.","tags":[{"tag":"","text":"Reads an XYZ angle value from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination angle buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float[3]","name":"buffer","decl":"float buffer[3]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbAddAngle":{"name":"PbAddAngle","refLine":511,"docStart":20340,"docEnd":20602,"docs":{"brief":"Add an XYZ angle to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an XYZ angle to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:angle","text":"Angle value to add."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[3]","name":"angle","decl":"const float angle[3]","default":null}]},"PbRemoveRepeatedFieldValue":{"name":"PbRemoveRepeatedFieldValue","refLine":541,"docStart":21371,"docEnd":21650,"docs":{"brief":"Removes a value by index from a protobuf message repeated field.","tags":[{"tag":"","text":"Removes a value by index from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"9215ddcf8a882f570b3f56dee4307d0f1caa6259","count":4294,"time":1395422628},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"PbReadRepeatedInt":{"name":"PbReadRepeatedInt","refLine":143,"docStart":4786,"docEnd":5130,"docs":{"brief":"Reads an int32, uint32, sint32, fixed32, or sfixed32 from a protobuf message repeated field.","tags":[{"tag":"","text":"Reads an int32, uint32, sint32, fixed32, or sfixed32 from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"return","text":"Integer value read."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"PbSetFloat":{"name":"PbSetFloat","refLine":385,"docStart":15757,"docEnd":16056,"docs":{"brief":"Sets a float or double on a protobuf message.","tags":[{"tag":"","text":"Sets a float or double on a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Float value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float","name":"value","decl":"float value","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadRepeatedMessage":{"name":"PbReadRepeatedMessage","refLine":423,"docStart":14119,"docEnd":14475,"docs":{"brief":"Retrieve a handle to an embedded protobuf message in a protobuf message repeated field.","tags":[{"tag":"","text":"Retrieve a handle to an embedded protobuf message in a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"return","text":"protobuf handle to embedded message."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"Handle","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"PbSetAngle":{"name":"PbSetAngle","refLine":429,"docStart":17377,"docEnd":17671,"docs":{"brief":"Sets an XYZ angle on a protobuf message.","tags":[{"tag":"","text":"Sets an XYZ angle on a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:angle","text":"Angle value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[3]","name":"angle","decl":"const float angle[3]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadRepeatedAngle":{"name":"PbReadRepeatedAngle","refLine":202,"docStart":6900,"docEnd":7240,"docs":{"brief":"Reads an XYZ angle value from a protobuf message repeated field.","tags":[{"tag":"","text":"Reads an XYZ angle value from a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"param:buffer","text":"Destination angle buffer."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"float[3]","name":"buffer","decl":"float buffer[3]","default":null}]},"PbAddInt":{"name":"PbAddInt","refLine":461,"docStart":18609,"docEnd":18919,"docs":{"brief":"Add an int32, uint32, sint32, fixed32, sfixed32, or enum value to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an int32, uint32, sint32, fixed32, sfixed32, or enum value to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Integer value to add."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"value","decl":"int value","default":null}]},"PbReadVector":{"name":"PbReadVector","refLine":342,"docStart":14101,"docEnd":14412,"docs":{"brief":"Reads an XYZ vector value from a protobuf message.","tags":[{"tag":"","text":"Reads an XYZ vector value from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination vector buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float[3]","name":"buffer","decl":"float buffer[3]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadMessage":{"name":"PbReadMessage","refLine":412,"docStart":13758,"docEnd":14051,"docs":{"brief":"Retrieve a handle to an embedded protobuf message in a protobuf message.","tags":[{"tag":"","text":"Retrieve a handle to an embedded protobuf message in a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"return","text":"protobuf handle to embedded message."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"Handle","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null}]},"PbAddMessage":{"name":"PbAddMessage","refLine":433,"docStart":14558,"docEnd":14857,"docs":{"brief":"Adds an embedded protobuf message to a protobuf message repeated field.","tags":[{"tag":"","text":"Adds an embedded protobuf message to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"return","text":"protobuf handle to added, embedded message."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"Handle","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null}]},"PbAddBool":{"name":"PbAddBool","refLine":481,"docStart":19328,"docEnd":19586,"docs":{"brief":"Add a bool to a protobuf message repeated field.","tags":[{"tag":"","text":"Add a bool to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Boolean value to add."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"bool","name":"value","decl":"bool value","default":null}]},"PbGetRepeatedFieldCount":{"name":"PbGetRepeatedFieldCount","refLine":132,"docStart":4429,"docEnd":4716,"docs":{"brief":"Gets the number of elements in a repeated field of a protobuf message.","tags":[{"tag":"","text":"Gets the number of elements in a repeated field of a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"return","text":"Number of elements in the field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null}]},"PbSetVector":{"name":"PbSetVector","refLine":440,"docStart":17788,"docEnd":18082,"docs":{"brief":"Sets an XYZ vector on a protobuf message.","tags":[{"tag":"","text":"Sets an XYZ vector on a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:vec","text":"Vector value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadBool":{"name":"PbReadBool","refLine":71,"docStart":2485,"docEnd":2772,"docs":{"brief":"Reads a bool from a protobuf message.","tags":[{"tag":"","text":"Reads a bool from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"return","text":"Boolean value read."},{"tag":"error","text":"Invalid or incorrect Handle, non-existant field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"42b415952bc606fff1ee94ff3a2cde3d721b5cc0","count":3814,"time":1363455095}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbReadString":{"name":"PbReadString","refLine":309,"docStart":12775,"docEnd":13137,"docs":{"brief":"Reads a string from a protobuf message.","tags":[{"tag":"","text":"Reads a string from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"PbAddVector2D":{"name":"PbAddVector2D","refLine":531,"docStart":21027,"docEnd":21288,"docs":{"brief":"Add an XY vector to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an XY vector to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:vec","text":"Vector value to add."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[2]","name":"vec","decl":"const float vec[2]","default":null}]},"PbAddString":{"name":"PbAddString","refLine":491,"docStart":19657,"docEnd":19916,"docs":{"brief":"Add a string to a protobuf message repeated field.","tags":[{"tag":"","text":"Add a string to a protobuf message repeated field."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"String value to add."},{"tag":"error","text":"Invalid or incorrect Handle, non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"pb","decl":"Handle pb","default":null},{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]}},"methodmaps":{"Protobuf":{"name":"Protobuf","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"6b714dafe39d2af9b0a49c3e751f427e51943910","count":5004,"time":1415571556},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"parent":"Handle","methods":{"AddBool":{"name":"AddBool","refLine":228,"docStart":10015,"docEnd":10219,"docs":{"brief":"Add a bool to a protobuf message repeated field.","tags":[{"tag":"","text":"Add a bool to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Boolean value to add."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"bool","name":"value","decl":"bool value","default":null}]},"AddInt64":{"name":"AddInt64","refLine":214,"docStart":9388,"docEnd":9662,"docs":{"brief":"Add an int64, uint64, sint64, fixed64, sfixed64 to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an int64, uint64, sint64, fixed64, sfixed64 to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Large integer value to add (0=High bits, 1=Low bits)."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int[2]","name":"value","decl":"int value[2]","default":null}]},"RemoveRepeatedFieldValue":{"name":"RemoveRepeatedFieldValue","refLine":270,"docStart":11716,"docEnd":11941,"docs":{"brief":"Removes a value by index from a protobuf message repeated field.","tags":[{"tag":"","text":"Removes a value by index from a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"ReadInt":{"name":"ReadInt","refLine":48,"docStart":1722,"docEnd":2016,"docs":{"brief":"Reads an int32, uint32, sint32, fixed32, sfixed32, or enum value from a protobuf message.","tags":[{"tag":"","text":"Reads an int32, uint32, sint32, fixed32, sfixed32, or enum value from a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"return","text":"Integer value read."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"HasField":{"name":"HasField","refLine":128,"docStart":5483,"docEnd":5720,"docs":{"brief":"Returns whether or not the named, non-repeated field has a value set.","tags":[{"tag":"","text":"Returns whether or not the named, non-repeated field has a value set."},{"tag":"param:field","text":"Field name."},{"tag":"return","text":"True if value has been set, else false."},{"tag":"error","text":"Non-existent field, or repeated field."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null}]},"ReadVector2D":{"name":"ReadVector2D","refLine":114,"docStart":4807,"docEnd":5067,"docs":{"brief":"Reads an XY vector value from a protobuf message.","tags":[{"tag":"","text":"Reads an XY vector value from a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination vector buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float[2]","name":"buffer","decl":"float buffer[2]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"SetInt64":{"name":"SetInt64","refLine":144,"docStart":6169,"docEnd":6479,"docs":{"brief":"Sets an int64, uint64, sint64, fixed64, sfixed64 on a protobuf message.","tags":[{"tag":"","text":"Sets an int64, uint64, sint64, fixed64, sfixed64 on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Large integer value to set (0=High bits, 1=Low bits)."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int[2]","name":"value","decl":"int value[2]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"ReadFloat":{"name":"ReadFloat","refLine":64,"docStart":2535,"docEnd":2796,"docs":{"brief":"Reads a float or downcasted double from a protobuf message.","tags":[{"tag":"","text":"Reads a float or downcasted double from a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"return","text":"Float value read."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"float","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"ReadBool":{"name":"ReadBool","refLine":72,"docStart":2889,"docEnd":3131,"docs":{"brief":"Reads a bool from a protobuf message.","tags":[{"tag":"","text":"Reads a bool from a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"return","text":"Boolean value read."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"SetString":{"name":"SetString","refLine":168,"docStart":7280,"docEnd":7521,"docs":{"brief":"Sets a string on a protobuf message.","tags":[{"tag":"","text":"Sets a string on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"String value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"SetColor":{"name":"SetColor","refLine":176,"docStart":7633,"docEnd":7879,"docs":{"brief":"Sets an RGBA color on a protobuf message.","tags":[{"tag":"","text":"Sets an RGBA color on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:color","text":"Color value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const int[4]","name":"color","decl":"const int color[4]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"SetVector":{"name":"SetVector","refLine":192,"docStart":8348,"docEnd":8595,"docs":{"brief":"Sets an XYZ vector on a protobuf message.","tags":[{"tag":"","text":"Sets an XYZ vector on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:vec","text":"Vector value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"AddFloat":{"name":"AddFloat","refLine":221,"docStart":9732,"docEnd":9946,"docs":{"brief":"Add a float or double to a protobuf message repeated field.","tags":[{"tag":"","text":"Add a float or double to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Float value to add."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float","name":"value","decl":"float value","default":null}]},"ReadMessage":{"name":"ReadMessage","refLine":277,"docStart":12024,"docEnd":12267,"docs":{"brief":"Retrieve a handle to an embedded protobuf message in a protobuf message.","tags":[{"tag":"","text":"Retrieve a handle to an embedded protobuf message in a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"return","text":"Protobuf handle to embedded message."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"Protobuf","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null}]},"ReadRepeatedMessage":{"name":"ReadRepeatedMessage","refLine":286,"docStart":12330,"docEnd":12645,"docs":{"brief":"Retrieve a handle to an embedded protobuf message in a protobuf message\nrepeated field.","tags":[{"tag":"","text":"Retrieve a handle to an embedded protobuf message in a protobuf message\nrepeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:index","text":"Index in the repeated field."},{"tag":"return","text":"Protobuf handle to embedded message."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"Protobuf","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"SetAngle":{"name":"SetAngle","refLine":184,"docStart":7990,"docEnd":8235,"docs":{"brief":"Sets an XYZ angle on a protobuf message.","tags":[{"tag":"","text":"Sets an XYZ angle on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:angle","text":"Angle value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[3]","name":"angle","decl":"const float angle[3]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"AddString":{"name":"AddString","refLine":235,"docStart":10286,"docEnd":10491,"docs":{"brief":"Add a string to a protobuf message repeated field.","tags":[{"tag":"","text":"Add a string to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"String value to add."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"SetInt":{"name":"SetInt","refLine":136,"docStart":5776,"docEnd":6068,"docs":{"brief":"Sets an int32, uint32, sint32, fixed32, sfixed32, or enum value on a protobuf message.","tags":[{"tag":"","text":"Sets an int32, uint32, sint32, fixed32, sfixed32, or enum value on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Integer value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"value","decl":"int value","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"ReadAngle":{"name":"ReadAngle","refLine":97,"docStart":4027,"docEnd":4286,"docs":{"brief":"Reads an XYZ angle value from a protobuf message.","tags":[{"tag":"","text":"Reads an XYZ angle value from a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination angle buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float[3]","name":"buffer","decl":"float buffer[3]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"AddVector":{"name":"AddVector","refLine":256,"docStart":11141,"docEnd":11351,"docs":{"brief":"Add an XYZ vector to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an XYZ vector to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:vec","text":"Vector value to add."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"ReadColor":{"name":"ReadColor","refLine":89,"docStart":3659,"docEnd":3920,"docs":{"brief":"Reads an RGBA color value from a protobuf message.","tags":[{"tag":"","text":"Reads an RGBA color value from a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination color buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int[4]","name":"buffer","decl":"int buffer[4]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"SetBool":{"name":"SetBool","refLine":160,"docStart":6937,"docEnd":7178,"docs":{"brief":"Sets a bool on a protobuf message.","tags":[{"tag":"","text":"Sets a bool on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Boolean value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"bool","name":"value","decl":"bool value","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"AddColor":{"name":"AddColor","refLine":242,"docStart":10568,"docEnd":10778,"docs":{"brief":"Add an RGBA color to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an RGBA color to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:color","text":"Color value to add."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const int[4]","name":"color","decl":"const int color[4]","default":null}]},"ReadString":{"name":"ReadString","refLine":81,"docStart":3222,"docEnd":3536,"docs":{"brief":"Reads a string from a protobuf message.","tags":[{"tag":"","text":"Reads a string from a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination string buffer."},{"tag":"param:maxlength","text":"Maximum length of output string buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"AddMessage":{"name":"AddMessage","refLine":293,"docStart":12727,"docEnd":12976,"docs":{"brief":"Adds an embedded protobuf message to a protobuf message repeated field.","tags":[{"tag":"","text":"Adds an embedded protobuf message to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"return","text":"Protobuf handle to added, embedded message."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"Protobuf","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null}]},"ReadInt64":{"name":"ReadInt64","refLine":56,"docStart":2106,"docEnd":2429,"docs":{"brief":"Reads an int64, uint64, sint64, fixed64, sfixed64 from a protobuf message.","tags":[{"tag":"","text":"Reads an int64, uint64, sint64, fixed64, sfixed64 from a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Array to represent the large integer (0=High bits, 1=Low bits)."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int[2]","name":"value","decl":"int value[2]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"SetFloat":{"name":"SetFloat","refLine":152,"docStart":6584,"docEnd":6833,"docs":{"brief":"Sets a float or double on a protobuf message.","tags":[{"tag":"","text":"Sets a float or double on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Float value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float","name":"value","decl":"float value","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"AddAngle":{"name":"AddAngle","refLine":249,"docStart":10854,"docEnd":11063,"docs":{"brief":"Add an XYZ angle to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an XYZ angle to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:angle","text":"Angle value to add."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[3]","name":"angle","decl":"const float angle[3]","default":null}]},"GetRepeatedFieldCount":{"name":"GetRepeatedFieldCount","refLine":121,"docStart":5179,"docEnd":5414,"docs":{"brief":"Gets the number of elements in a repeated field of a protobuf message.","tags":[{"tag":"","text":"Gets the number of elements in a repeated field of a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"return","text":"Number of elements in the field."},{"tag":"error","text":"Non-existent field, or non-repeated field."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null}]},"AddInt":{"name":"AddInt","refLine":207,"docStart":9066,"docEnd":9322,"docs":{"brief":"Add an int32, uint32, sint32, fixed32, sfixed32, or enum value to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an int32, uint32, sint32, fixed32, sfixed32, or enum value to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:value","text":"Integer value to add."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"int","name":"value","decl":"int value","default":null}]},"SetVector2D":{"name":"SetVector2D","refLine":200,"docStart":8707,"docEnd":8952,"docs":{"brief":"Sets an XY vector on a protobuf message.","tags":[{"tag":"","text":"Sets an XY vector on a protobuf message."},{"tag":"param:field","text":"Field name."},{"tag":"param:vec","text":"Vector value to set."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[2]","name":"vec","decl":"const float vec[2]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]},"AddVector2D":{"name":"AddVector2D","refLine":263,"docStart":11428,"docEnd":11637,"docs":{"brief":"Add an XY vector to a protobuf message repeated field.","tags":[{"tag":"","text":"Add an XY vector to a protobuf message repeated field."},{"tag":"param:field","text":"Field name."},{"tag":"param:vec","text":"Vector value to add."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"const float[2]","name":"vec","decl":"const float vec[2]","default":null}]},"ReadVector":{"name":"ReadVector","refLine":106,"docStart":4395,"docEnd":4697,"docs":{"brief":"Reads an XYZ vector value from a protobuf message.","tags":[{"tag":"","text":"Reads an XYZ vector value from a protobuf message."},{"tag":"param:pb","text":"protobuf handle."},{"tag":"param:field","text":"Field name."},{"tag":"param:buffer","text":"Destination vector buffer."},{"tag":"param:index","text":"Index into repeated field."},{"tag":"error","text":"Non-existent field, or incorrect field type."}]},"metadata":{"created":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203},"last_updated":{"hash":"8031e42bdae3046781b5d52a7a90d59e788105e6","count":6387,"time":1551719203}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"field","decl":"const char[] field","default":null},{"type":"float[3]","name":"buffer","decl":"float buffer[3]","default":null},{"type":"int","name":"index","decl":"int index","default":"-1"}]}},"properties":{}}},"enumstructs":{},"constants":{},"defines":{"PB_FIELD_NOT_REPEATED":{"name":"PB_FIELD_NOT_REPEATED","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"42b415952bc606fff1ee94ff3a2cde3d721b5cc0","count":3814,"time":1363455095},"last_updated":{"hash":"42b415952bc606fff1ee94ff3a2cde3d721b5cc0","count":3814,"time":1363455095}},"value":"-1"},"_protobuf_included":{"name":"_protobuf_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992},"last_updated":{"hash":"312e26a5cfba5263bd165832f8dc68d46a8a2312","count":3745,"time":1358908992}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"sdktools_functions":{"functions":{"DispatchSpawn":{"name":"DispatchSpawn","refLine":173,"docStart":5803,"docEnd":6008,"docs":{"brief":"Spawns an entity into the game.","tags":[{"tag":"","text":"Spawns an entity into the game."},{"tag":"param:entity","text":"Entity index of the created entity."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid entity index, or no mod support."}]},"metadata":{"created":{"hash":"c6dba359c6f4ee11ae9c6a554d14bb6edcc601b4","count":1429,"time":1189885082},"last_updated":{"hash":"c6dba359c6f4ee11ae9c6a554d14bb6edcc601b4","count":1429,"time":1189885082}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]},"TeleportPlayer":{"name":"TeleportPlayer","refLine":106,"docStart":3106,"docEnd":3130,"docs":{"brief":"","tags":[{"tag":"","text":""}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"a76f3eba97cf4696ac4bba97057fb1f52273896f","count":981,"time":1182186162}},"kind":"stock","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const float[3]","name":"origin","decl":"const float origin[3]","default":null},{"type":"const float[3]","name":"angles","decl":"const float angles[3]","default":null},{"type":"const float[3]","name":"velocity","decl":"const float velocity[3]","default":null}]},"GivePlayerAmmo":{"name":"GivePlayerAmmo","refLine":346,"docStart":11047,"docEnd":11484,"docs":{"brief":"Gives ammo of a certain type to a player.\nThis natives obeys the maximum amount of ammo a player can carry per ammo type.","tags":[{"tag":"","text":"Gives ammo of a certain type to a player.\nThis natives obeys the maximum amount of ammo a player can carry per ammo type."},{"tag":"param:client","text":"The client index."},{"tag":"param:amount","text":"Amount of ammo to give. Is capped at ammotype's limit."},{"tag":"param:ammotype","text":"Type of ammo to give to player."},{"tag":"param:suppressSound","text":"If true, don't play the ammo pickup sound."},{"tag":"return","text":"Amount of ammo actually given."}]},"metadata":{"created":{"hash":"75d950e4b0fa9bdb8ad5c611e7ef21fa98d3adb5","count":4244,"time":1392047359},"last_updated":{"hash":"75d950e4b0fa9bdb8ad5c611e7ef21fa98d3adb5","count":4244,"time":1392047359}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"amount","decl":"int amount","default":null},{"type":"int","name":"ammotype","decl":"int ammotype","default":null},{"type":"bool","name":"suppressSound","decl":"bool suppressSound","default":"false"}]},"GetTeamScore":{"name":"GetTeamScore","refLine":245,"docStart":8132,"docEnd":8287,"docs":{"brief":"Returns the score of a team based on a team index.","tags":[{"tag":"","text":"Returns the score of a team based on a team index."},{"tag":"param:index","text":"Team index."},{"tag":"return","text":"Score."},{"tag":"error","text":"Invalid team index."}]},"metadata":{"created":{"hash":"ff2819e2666ef2c51013dc43d3a3a5c166e85436","count":1614,"time":1192923550},"last_updated":{"hash":"ff2819e2666ef2c51013dc43d3a3a5c166e85436","count":1614,"time":1192923550}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"index","decl":"int index","default":null}]},"DispatchKeyValueFloat":{"name":"DispatchKeyValueFloat","refLine":195,"docStart":6432,"docEnd":6743,"docs":{"brief":"Dispatches a KeyValue into given entity using a floating point value.","tags":[{"tag":"","text":"Dispatches a KeyValue into given entity using a floating point value."},{"tag":"param:entity","text":"Destination entity index."},{"tag":"param:keyName","text":"Name of the key."},{"tag":"param:value","text":"Floating point value."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid entity index, or no mod support."}]},"metadata":{"created":{"hash":"b609c4eb86355df8118b27b13b1a9267feaf060b","count":1505,"time":1191104796},"last_updated":{"hash":"b609c4eb86355df8118b27b13b1a9267feaf060b","count":1505,"time":1191104796}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"keyName","decl":"const char[] keyName","default":null},{"type":"float","name":"value","decl":"float value","default":null}]},"GetTeamEntity":{"name":"GetTeamEntity","refLine":269,"docStart":8853,"docEnd":9010,"docs":{"brief":"Returns the entity index of a team.","tags":[{"tag":"","text":"Returns the entity index of a team."},{"tag":"param:teamIndex","text":"Team index."},{"tag":"return","text":"Entity index of team."},{"tag":"error","text":"Invalid team index."}]},"metadata":{"created":{"hash":"ae8efdddcb27682c8277a0813619d7e1365bcbfb","count":5366,"time":1425997663},"last_updated":{"hash":"ae8efdddcb27682c8277a0813619d7e1365bcbfb","count":5366,"time":1425997663}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"teamIndex","decl":"int teamIndex","default":null}]},"SetCollisionGroup":{"name":"SetCollisionGroup","refLine":362,"docStart":13235,"docEnd":13490,"docs":{"brief":"Changes an entity's collision group (CBaseEntity::SetCollisionGroup).","tags":[{"tag":"","text":"Changes an entity's collision group (CBaseEntity::SetCollisionGroup)."},{"tag":"param:entity","text":"The entity index."},{"tag":"param:collisionGroup","text":"Collision group to use."},{"tag":"error","text":"Invalid entity or lack of mod support."}]},"metadata":{"created":{"hash":"a9d3cf45741b9b8888f8226ca89d257b6bdb980a","count":6700,"time":1624572250},"last_updated":{"hash":"a9d3cf45741b9b8888f8226ca89d257b6bdb980a","count":6700,"time":1624572250}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"collisionGroup","decl":"int collisionGroup","default":null}]},"DispatchKeyValueVector":{"name":"DispatchKeyValueVector","refLine":197,"docStart":6660,"docEnd":6955,"docs":{"brief":"Dispatches a KeyValue into given entity using a vector value.","tags":[{"tag":"","text":"Dispatches a KeyValue into given entity using a vector value."},{"tag":"param:entity","text":"Destination entity index."},{"tag":"param:keyName","text":"Name of the key."},{"tag":"param:vec","text":"Vector value."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid entity index, or no mod support."}]},"metadata":{"created":{"hash":"b609c4eb86355df8118b27b13b1a9267feaf060b","count":1505,"time":1191104796},"last_updated":{"hash":"0e167ee85b9ea4a756873bae5d01e6168f8c4e9d","count":3968,"time":1375363594}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"keyName","decl":"const char[] keyName","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"GetEntityAttachment":{"name":"GetEntityAttachment","refLine":401,"docStart":14545,"docEnd":15008,"docs":{"brief":"Returns the world location and world angles of an attachment.","tags":[{"tag":"","text":"Returns the world location and world angles of an attachment."},{"tag":"param:entity","text":"The entity index."},{"tag":"param:attachment","text":"The attachment index."},{"tag":"param:origin","text":"Destination vector to store the attachment's origin vector."},{"tag":"param:angles","text":"Destination vector to store the attachment's position angle."},{"tag":"return","text":"True on success, otherwise false."},{"tag":"error","text":"Invalid entity or lack of mod support."}]},"metadata":{"created":{"hash":"afc93107049bfd92132ed053293ab606d8f284c9","count":6843,"time":1641215634},"last_updated":{"hash":"afc93107049bfd92132ed053293ab606d8f284c9","count":6843,"time":1641215634}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"attachment","decl":"int attachment","default":null},{"type":"float[3]","name":"origin","decl":"float origin[3]","default":null},{"type":"float[3]","name":"angles","decl":"float angles[3]","default":null}]},"CreateEntityByName":{"name":"CreateEntityByName","refLine":164,"docStart":5243,"docEnd":5725,"docs":{"brief":"Creates an entity by string name, but does not spawn it (see DispatchSpawn).\nIf ForceEdictIndex is not -1, then it will use the edict by that index. If the index is\ninvalid or there is already an edict using that index, it will error out.","tags":[{"tag":"","text":"Creates an entity by string name, but does not spawn it (see DispatchSpawn).\nIf ForceEdictIndex is not -1, then it will use the edict by that index. If the index is\ninvalid or there is already an edict using that index, it will error out."},{"tag":"param:classname","text":"Entity classname."},{"tag":"param:ForceEdictIndex","text":"Edict index used by the created entity."},{"tag":"return","text":"Entity index on success, or -1 on failure."},{"tag":"error","text":"Invalid edict index, or no mod support."}]},"metadata":{"created":{"hash":"c6dba359c6f4ee11ae9c6a554d14bb6edcc601b4","count":1429,"time":1189885082},"last_updated":{"hash":"c6dba359c6f4ee11ae9c6a554d14bb6edcc601b4","count":1429,"time":1189885082}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"classname","decl":"const char[] classname","default":null},{"type":"int","name":"ForceEdictIndex","decl":"int ForceEdictIndex","default":"-1"}]},"GetTeamCount":{"name":"GetTeamCount","refLine":225,"docStart":7702,"docEnd":7801,"docs":{"brief":"Returns the total number of teams in a game.","tags":[{"tag":"","text":"Returns the total number of teams in a game."},{"tag":"return","text":"Total number of teams."}]},"metadata":{"created":{"hash":"ff2819e2666ef2c51013dc43d3a3a5c166e85436","count":1614,"time":1192923550},"last_updated":{"hash":"ff2819e2666ef2c51013dc43d3a3a5c166e85436","count":1614,"time":1192923550}},"kind":"native","returnType":"int","arguments":[]},"FindEntityByClassname":{"name":"FindEntityByClassname","refLine":116,"docStart":3370,"docEnd":3681,"docs":{"brief":"Searches for an entity by classname.","tags":[{"tag":"","text":"Searches for an entity by classname."},{"tag":"param:startEnt","text":"The entity index to begin searching from.\nUse -1 to start from the first entity."},{"tag":"param:classname","text":"Classname of the entity to find."},{"tag":"return","text":"Entity index >= 0 if found, -1 otherwise."},{"tag":"error","text":"Lack of mod support."}]},"metadata":{"created":{"hash":"bcc798e165e5f3f2e06982e44d45c7fd51155849","count":1241,"time":1185952738},"last_updated":{"hash":"bcc798e165e5f3f2e06982e44d45c7fd51155849","count":1241,"time":1185952738}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"startEnt","decl":"int startEnt","default":null},{"type":"const char[]","name":"classname","decl":"const char[] classname","default":null}]},"SetTeamScore":{"name":"SetTeamScore","refLine":243,"docStart":8332,"docEnd":8561,"docs":{"brief":"Sets the score of a team based on a team index.\nNote: This native should not be called before OnMapStart.","tags":[{"tag":"","text":"Sets the score of a team based on a team index.\nNote: This native should not be called before OnMapStart."},{"tag":"param:index","text":"Team index."},{"tag":"param:value","text":"New score value."},{"tag":"error","text":"Invalid team index."}]},"metadata":{"created":{"hash":"ff2819e2666ef2c51013dc43d3a3a5c166e85436","count":1614,"time":1192923550},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"int","name":"value","decl":"int value","default":null}]},"EquipPlayerWeapon":{"name":"EquipPlayerWeapon","refLine":311,"docStart":10412,"docEnd":10634,"docs":{"brief":"Equip's a player's weapon.","tags":[{"tag":"","text":"Equip's a player's weapon."},{"tag":"param:client","text":"Client index."},{"tag":"param:weapon","text":"CBaseCombatWeapon entity index."},{"tag":"error","text":"Invalid client or entity, lack of mod support, or client not in\ngame."}]},"metadata":{"created":{"hash":"fbe46934a45afa8603a207ebc2e693ea0d376359","count":1957,"time":1207011081},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"weapon","decl":"int weapon","default":null}]},"ForcePlayerSuicide":{"name":"ForcePlayerSuicide","refLine":107,"docStart":3770,"docEnd":3930,"docs":{"brief":"Forces a player to commit suicide.","tags":[{"tag":"","text":"Forces a player to commit suicide."},{"tag":"param:client","text":"Client index."},{"tag":"error","text":"Invalid client or client not in game, or lack of mod support."}]},"metadata":{"created":{"hash":"a57acce7468d2a98499802367823de70fe31070b","count":1152,"time":1185224518},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"IgnitePlayer":{"name":"IgnitePlayer","refLine":90,"docStart":2826,"docEnd":2850,"docs":{"brief":"","tags":[{"tag":"","text":""}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"a76f3eba97cf4696ac4bba97057fb1f52273896f","count":981,"time":1182186162}},"kind":"stock","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"float","name":"time","decl":"float time","default":null},{"type":"bool","name":"npc","decl":"bool npc","default":"false"},{"type":"float","name":"size","decl":"float size","default":"0.000000"},{"type":"bool","name":"level","decl":"bool level","default":"false"}]},"GetPlayerJingleFile":{"name":"GetPlayerJingleFile","refLine":292,"docStart":9490,"docEnd":9817,"docs":{"brief":"Retrieves the jingle file name associated with a given client.","tags":[{"tag":"","text":"Retrieves the jingle file name associated with a given client."},{"tag":"param:client","text":"Player's index."},{"tag":"param:hex","text":"Buffer to store the jingle filename."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"return","text":"True on success, otherwise false."},{"tag":"error","text":"Invalid client or client not in game."}]},"metadata":{"created":{"hash":"7db280a6662bcf113414b6fe0b016df87b94d3f3","count":4005,"time":1376269714},"last_updated":{"hash":"7db280a6662bcf113414b6fe0b016df87b94d3f3","count":4005,"time":1376269714}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"char[]","name":"hex","decl":"char[] hex","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"ExtinguishEntity":{"name":"ExtinguishEntity","refLine":88,"docStart":3109,"docEnd":3274,"docs":{"brief":"Extinguishes an entity that is on fire.","tags":[{"tag":"","text":"Extinguishes an entity that is on fire."},{"tag":"param:entity","text":"Entity index."},{"tag":"error","text":"Invalid entity or client not in game, or lack of mod support."}]},"metadata":{"created":{"hash":"a76f3eba97cf4696ac4bba97057fb1f52273896f","count":981,"time":1182186162},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]},"TeleportEntity":{"name":"TeleportEntity","refLine":99,"docStart":3500,"docEnd":3866,"docs":{"brief":"Teleports an entity.","tags":[{"tag":"","text":"Teleports an entity."},{"tag":"param:entity","text":"Client index."},{"tag":"param:origin","text":"New origin, or NULL_VECTOR for no change."},{"tag":"param:angles","text":"New angles, or NULL_VECTOR for no change."},{"tag":"param:velocity","text":"New velocity, or NULL_VECTOR for no change."},{"tag":"error","text":"Invalid entity or client not in game, or lack of mod support."}]},"metadata":{"created":{"hash":"a76f3eba97cf4696ac4bba97057fb1f52273896f","count":981,"time":1182186162},"last_updated":{"hash":"625650c160837ddba43e64b68e712f4ed964a90b","count":6487,"time":1580547239}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const float[3]","name":"origin","decl":"const float origin[3]","default":"NULL_VECTOR"},{"type":"const float[3]","name":"angles","decl":"const float angles[3]","default":"NULL_VECTOR"},{"type":"const float[3]","name":"velocity","decl":"const float velocity[3]","default":"NULL_VECTOR"}]},"GetPlayerDecalFile":{"name":"GetPlayerDecalFile","refLine":276,"docStart":8743,"docEnd":9065,"docs":{"brief":"Retrieves the decal file name associated to a given client.","tags":[{"tag":"","text":"Retrieves the decal file name associated to a given client."},{"tag":"param:client","text":"Player's index."},{"tag":"param:hex","text":"Buffer to store the logo filename."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"return","text":"True on success, otherwise false."},{"tag":"error","text":"Invalid client or client not in game."}]},"metadata":{"created":{"hash":"9ab9eba5d7400c2ae3be50bf4c12a967f043512d","count":1770,"time":1196907935},"last_updated":{"hash":"9ab9eba5d7400c2ae3be50bf4c12a967f043512d","count":1770,"time":1196907935}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"char[]","name":"hex","decl":"char[] hex","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"DispatchKeyValue":{"name":"DispatchKeyValue","refLine":184,"docStart":6048,"docEnd":6343,"docs":{"brief":"Dispatches a KeyValue into given entity using a string value.","tags":[{"tag":"","text":"Dispatches a KeyValue into given entity using a string value."},{"tag":"param:entity","text":"Destination entity index."},{"tag":"param:keyName","text":"Name of the key."},{"tag":"param:value","text":"String value."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid entity index, or no mod support."}]},"metadata":{"created":{"hash":"b609c4eb86355df8118b27b13b1a9267feaf060b","count":1505,"time":1191104796},"last_updated":{"hash":"b609c4eb86355df8118b27b13b1a9267feaf060b","count":1505,"time":1191104796}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"keyName","decl":"const char[] keyName","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"SetClientInfo":{"name":"SetClientInfo","refLine":330,"docStart":10888,"docEnd":11209,"docs":{"brief":"Sets values to client info buffer keys and notifies the engine of the change.\nThe change does not get propagated to mods until the next frame.","tags":[{"tag":"","text":"Sets values to client info buffer keys and notifies the engine of the change.\nThe change does not get propagated to mods until the next frame."},{"tag":"param:client","text":"Player's index."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"Value string."},{"tag":"error","text":"Invalid client index, or client not connected."}]},"metadata":{"created":{"hash":"22aa6561b5f47f2dd5a2789541231c0df77222e5","count":2108,"time":1212995552},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"GetClientAimTarget":{"name":"GetClientAimTarget","refLine":218,"docStart":7272,"docEnd":7616,"docs":{"brief":"Returns the entity a client is aiming at.","tags":[{"tag":"","text":"Returns the entity a client is aiming at."},{"tag":"param:client","text":"Client performing the aiming."},{"tag":"param:only_clients","text":"True to exclude all entities but clients."},{"tag":"return","text":"Entity index being aimed at.\n-1 if no entity is being aimed at.\n-2 if the function is not supported."},{"tag":"error","text":"Invalid client index."}]},"metadata":{"created":{"hash":"c2644b2f94d4ff7121b9d801a4af0ab8ed41e092","count":1612,"time":1192783865},"last_updated":{"hash":"c2644b2f94d4ff7121b9d801a4af0ab8ed41e092","count":1612,"time":1192783865}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"bool","name":"only_clients","decl":"bool only_clients","default":"true"}]},"GetClientEyeAngles":{"name":"GetClientEyeAngles","refLine":143,"docStart":4680,"docEnd":4959,"docs":{"brief":"Returns the client's eye angles.","tags":[{"tag":"","text":"Returns the client's eye angles."},{"tag":"param:client","text":"Player's index."},{"tag":"param:ang","text":"Destination vector to store the client's eye angles."},{"tag":"return","text":"True on success, false on failure."},{"tag":"error","text":"Invalid client index, client not in game, or no mod support."}]},"metadata":{"created":{"hash":"d05a57fcba7ed445570d42e1a090f37fde82aba5","count":1220,"time":1185847705},"last_updated":{"hash":"c2644b2f94d4ff7121b9d801a4af0ab8ed41e092","count":1612,"time":1192783865}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"float[3]","name":"ang","decl":"float ang[3]","default":null}]},"IsPlayerAlive":{"name":"IsPlayerAlive","refLine":124,"docStart":3667,"docEnd":3892,"docs":{"brief":"Returns if the client is alive or dead.","tags":[{"tag":"","text":"Returns if the client is alive or dead."},{"tag":"param:client","text":"Player's index."},{"tag":"return","text":"True if the client is dead, false otherwise."},{"tag":"error","text":"Invalid client index, client not in game, or no mod support."}]},"metadata":{"created":{"hash":"c611ba9ea595820e8735e6b59771b5a295be88d7","count":1240,"time":1185951355},"last_updated":{"hash":"c611ba9ea595820e8735e6b59771b5a295be88d7","count":1240,"time":1185951355}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"GetTeamName":{"name":"GetTeamName","refLine":223,"docStart":7712,"docEnd":8005,"docs":{"brief":"Retrieves the team name based on a team index.\nNote: This native should not be called before OnMapStart.","tags":[{"tag":"","text":"Retrieves the team name based on a team index.\nNote: This native should not be called before OnMapStart."},{"tag":"param:index","text":"Team index."},{"tag":"param:name","text":"Buffer to store string in."},{"tag":"param:maxlength","text":"Maximum length of string buffer."},{"tag":"error","text":"Invalid team index."}]},"metadata":{"created":{"hash":"ff2819e2666ef2c51013dc43d3a3a5c166e85436","count":1614,"time":1192923550},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"char[]","name":"name","decl":"char[] name","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SlapPlayer":{"name":"SlapPlayer","refLine":117,"docStart":3979,"docEnd":4236,"docs":{"brief":"Slaps a player in a random direction.","tags":[{"tag":"","text":"Slaps a player in a random direction."},{"tag":"param:client","text":"Client index."},{"tag":"param:health","text":"Health to subtract."},{"tag":"param:sound","text":"False to disable the sound effects."},{"tag":"error","text":"Invalid client or client not in game, or lack of mod support."}]},"metadata":{"created":{"hash":"78d054e077b5e9de57e30ab499bd5e65e8ada6fd","count":1170,"time":1185395014},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"health","decl":"int health","default":"5"},{"type":"bool","name":"sound","decl":"bool sound","default":"true"}]},"GivePlayerItem":{"name":"GivePlayerItem","refLine":41,"docStart":1051,"docEnd":1352,"docs":{"brief":"Gives a named item to a player.","tags":[{"tag":"","text":"Gives a named item to a player."},{"tag":"param:client","text":"Client index."},{"tag":"param:item","text":"Item classname (such as weapon_ak47)."},{"tag":"param:iSubType","text":"Unknown."},{"tag":"return","text":"Entity index on success, or -1 on failure."},{"tag":"error","text":"Invalid client or client not in game, or lack of mod support."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"item","decl":"const char[] item","default":null},{"type":"int","name":"iSubType","decl":"int iSubType","default":"0"}]},"IgniteEntity":{"name":"IgniteEntity","refLine":80,"docStart":2702,"docEnd":3004,"docs":{"brief":"Ignites an entity on fire.","tags":[{"tag":"","text":"Ignites an entity on fire."},{"tag":"param:entity","text":"Entity index."},{"tag":"param:time","text":"Number of seconds to set on fire."},{"tag":"param:npc","text":"True to only affect NPCs."},{"tag":"param:size","text":"Unknown."},{"tag":"param:level","text":"Unknown."},{"tag":"error","text":"Invalid entity or client not in game, or lack of mod support."}]},"metadata":{"created":{"hash":"a76f3eba97cf4696ac4bba97057fb1f52273896f","count":981,"time":1182186162},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"float","name":"time","decl":"float time","default":null},{"type":"bool","name":"npc","decl":"bool npc","default":"false"},{"type":"float","name":"size","decl":"float size","default":"0.000000"},{"type":"bool","name":"level","decl":"bool level","default":"false"}]},"SetEntityModel":{"name":"SetEntityModel","refLine":271,"docStart":9105,"docEnd":9276,"docs":{"brief":"Sets the model to a given entity.","tags":[{"tag":"","text":"Sets the model to a given entity."},{"tag":"param:entity","text":"Entity index."},{"tag":"param:model","text":"Model name."},{"tag":"error","text":"Invalid entity index, or no mod support."}]},"metadata":{"created":{"hash":"ef8db35a49c04992d498151439cd3f1f4b93378e","count":1721,"time":1195928220},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"model","decl":"const char[] model","default":null}]},"GetPlayerWeaponSlot":{"name":"GetPlayerWeaponSlot","refLine":51,"docStart":1421,"docEnd":1696,"docs":{"brief":"Returns the weapon in a player's slot.","tags":[{"tag":"","text":"Returns the weapon in a player's slot."},{"tag":"param:client","text":"Client index."},{"tag":"param:slot","text":"Slot index (mod specific)."},{"tag":"return","text":"Entity index on success, -1 if no weapon existed."},{"tag":"error","text":"Invalid client or client notin game, or lack of mod support."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"slot","decl":"int slot","default":null}]},"GetTeamClientCount":{"name":"GetTeamClientCount","refLine":263,"docStart":8505,"docEnd":8684,"docs":{"brief":"Retrieves the number of players in a certain team.","tags":[{"tag":"","text":"Retrieves the number of players in a certain team."},{"tag":"param:index","text":"Team index."},{"tag":"return","text":"Number of players in the team."},{"tag":"error","text":"Invalid team index."}]},"metadata":{"created":{"hash":"ff2819e2666ef2c51013dc43d3a3a5c166e85436","count":1614,"time":1192923550},"last_updated":{"hash":"ff2819e2666ef2c51013dc43d3a3a5c166e85436","count":1614,"time":1192923550}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"index","decl":"int index","default":null}]},"ActivateEntity":{"name":"ActivateEntity","refLine":319,"docStart":10694,"docEnd":10843,"docs":{"brief":"Activates an entity (CBaseAnimating::Activate)","tags":[{"tag":"","text":"Activates an entity (CBaseAnimating::Activate)"},{"tag":"param:entity","text":"Entity index."},{"tag":"error","text":"Invalid entity or lack of mod support."}]},"metadata":{"created":{"hash":"946834b86863d6ce86f2446d978601107e5b4572","count":2008,"time":1208388543},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]},"LookupEntityAttachment":{"name":"LookupEntityAttachment","refLine":389,"docStart":14154,"docEnd":14474,"docs":{"brief":"Returns the index number of a given named attachment.","tags":[{"tag":"","text":"Returns the index number of a given named attachment."},{"tag":"param:entity","text":"The entity index."},{"tag":"param:name","text":"The attachment name."},{"tag":"return","text":"An attachment index, or 0 if the attachment name is invalid or unused."},{"tag":"error","text":"Invalid entity or lack of mod support."}]},"metadata":{"created":{"hash":"afc93107049bfd92132ed053293ab606d8f284c9","count":6843,"time":1641215634},"last_updated":{"hash":"afc93107049bfd92132ed053293ab606d8f284c9","count":6843,"time":1641215634}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":null}]},"SetEntityCollisionGroup":{"name":"SetEntityCollisionGroup","refLine":362,"docStart":13235,"docEnd":13490,"docs":{"brief":"Changes an entity's collision group (CBaseEntity::SetCollisionGroup).","tags":[{"tag":"","text":"Changes an entity's collision group (CBaseEntity::SetCollisionGroup)."},{"tag":"param:entity","text":"The entity index."},{"tag":"param:collisionGroup","text":"Collision group to use."},{"tag":"error","text":"Invalid entity or lack of mod support."}]},"metadata":{"created":{"hash":"5aedb73aae1ab60a06572a1ced8f93602439cca0","count":6712,"time":1625947826},"last_updated":{"hash":"5aedb73aae1ab60a06572a1ced8f93602439cca0","count":6712,"time":1625947826}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"collisionGroup","decl":"int collisionGroup","default":null}]},"ExtinguishClient":{"name":"ExtinguishClient","refLine":98,"docStart":3005,"docEnd":3029,"docs":{"brief":"","tags":[{"tag":"","text":""}]},"metadata":{"created":{"hash":"a76f3eba97cf4696ac4bba97057fb1f52273896f","count":981,"time":1182186162},"last_updated":{"hash":"a76f3eba97cf4696ac4bba97057fb1f52273896f","count":981,"time":1182186162}},"kind":"stock","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"ExtinguishPlayer":{"name":"ExtinguishPlayer","refLine":73,"docStart":2155,"docEnd":2333,"docs":{"brief":"Extinguishes a player that is on fire.","tags":[{"tag":"","text":"Extinguishes a player that is on fire."},{"tag":"param:client","text":"Client index."},{"tag":"error","text":"Invalid client or client not in game, or lack of mod support."}]},"metadata":{"created":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443},"last_updated":{"hash":"0b9447d986b289e5872729c24a5e1d3a866e0745","count":956,"time":1182018443}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"RemovePlayerItem":{"name":"RemovePlayerItem","refLine":30,"docStart":735,"docEnd":1002,"docs":{"brief":"Removes a player's item.","tags":[{"tag":"","text":"Removes a player's item."},{"tag":"param:client","text":"Client index."},{"tag":"param:item","text":"CBaseCombatWeapon entity index."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid client or entity, lack of mod support, or client not in\ngame."}]},"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"item","decl":"int item","default":null}]},"GetServerNetStats":{"name":"GetServerNetStats","refLine":301,"docStart":10145,"docEnd":10342,"docs":{"brief":"Returns the average server network traffic in bytes/sec.","tags":[{"tag":"","text":"Returns the average server network traffic in bytes/sec."},{"tag":"param:in","text":"Buffer to store the input traffic velocity."},{"tag":"param:out","text":"Buffer to store the output traffic velocity."}]},"metadata":{"created":{"hash":"9ab9eba5d7400c2ae3be50bf4c12a967f043512d","count":1770,"time":1196907935},"last_updated":{"hash":"542bb59978731361b9b92e3272d81c6ac2ee8b3b","count":5909,"time":1463836609}},"kind":"native","returnType":"void","arguments":[{"type":"float&","name":"inAmount","decl":"float& inAmount","default":null},{"type":"float&","name":"outAmout","decl":"float& outAmout","default":null}]},"EntityCollisionRulesChanged":{"name":"EntityCollisionRulesChanged","refLine":370,"docStart":13564,"docEnd":13769,"docs":{"brief":"Recaculates entity collision rules (CBaseEntity::CollisionRulesChanged).","tags":[{"tag":"","text":"Recaculates entity collision rules (CBaseEntity::CollisionRulesChanged)."},{"tag":"param:entity","text":"The entity index."},{"tag":"error","text":"Invalid entity or lack of mod support."}]},"metadata":{"created":{"hash":"b38c9824fe158c7291619b1da786c981f796aa92","count":6824,"time":1637564615},"last_updated":{"hash":"b38c9824fe158c7291619b1da786c981f796aa92","count":6824,"time":1637564615}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]},"SetEntityOwner":{"name":"SetEntityOwner","refLine":379,"docStart":13827,"docEnd":14076,"docs":{"brief":"Sets an entity's owner (CBaseEntity::SetEntityOwner).","tags":[{"tag":"","text":"Sets an entity's owner (CBaseEntity::SetEntityOwner)."},{"tag":"param:entity","text":"The entity index."},{"tag":"param:owner","text":"The owner entity index, can be invalid."},{"tag":"error","text":"Invalid entity or lack of mod support."}]},"metadata":{"created":{"hash":"b38c9824fe158c7291619b1da786c981f796aa92","count":6824,"time":1637564615},"last_updated":{"hash":"b38c9824fe158c7291619b1da786c981f796aa92","count":6824,"time":1637564615}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"owner","decl":"int owner","default":"INVALID_ENT_REFERENCE"}]},"SetClientName":{"name":"SetClientName","refLine":342,"docStart":11058,"docEnd":11219,"docs":{"brief":"Something","tags":[{"tag":"","text":"Something"},{"tag":"param:client","text":"Player's index."},{"tag":"param:name","text":"New name."},{"tag":"error","text":"Invalid client index, or client not connected."}]},"metadata":{"created":{"hash":"7d795b523e03d603df40349d212a12d53517c2a7","count":5382,"time":1427051708},"last_updated":{"hash":"7d795b523e03d603df40349d212a12d53517c2a7","count":5382,"time":1427051708}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"const char[]","name":"name","decl":"const char[] name","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_functions_included":{"name":"_sdktools_functions_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985},"last_updated":{"hash":"11ff3812893ff06b55d8f693403eafe786d80a7a","count":955,"time":1182016985}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"sdkhooks":{"functions":{"OnEntitySpawned":{"name":"OnEntitySpawned","refLine":358,"docStart":11536,"docEnd":11750,"docs":{"brief":"When an entity is spawned","tags":[{"tag":"","text":"When an entity is spawned"},{"tag":"param:entity","text":"Entity index"},{"tag":"param:classname","text":"Class name"},{"tag":"note","text":"Check for support at runtime using GetFeatureStatus on SDKHook_OnEntitySpawned capability."}]},"metadata":{"created":{"hash":"7bab9cc344757418421d8c21ec2c0d53b9af49e2","count":6609,"time":1596769267},"last_updated":{"hash":"7bab9cc344757418421d8c21ec2c0d53b9af49e2","count":6609,"time":1596769267}},"kind":"forward","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"classname","decl":"const char[] classname","default":null}]},"SDKHookEx":{"name":"SDKHookEx","refLine":349,"docStart":10451,"docEnd":10653,"docs":{"brief":"Hooks an entity","tags":[{"tag":"","text":""},{"tag":"brief","text":"Hooks an entity"},{"tag":"param:entity","text":"Entity index"},{"tag":"param:type","text":"Type of function to hook"},{"tag":"param:callback","text":"Function to call when hook is called"},{"tag":"return","text":"bool Hook Successful"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"SDKHookType","name":"type","decl":"SDKHookType type","default":null},{"type":"SDKHookCB","name":"callback","decl":"SDKHookCB callback","default":null}]},"SDKHook":{"name":"SDKHook","refLine":338,"docStart":10503,"docEnd":10671,"docs":{"brief":"Hooks an entity","tags":[{"tag":"","text":""},{"tag":"brief","text":"Hooks an entity"},{"tag":"param:entity","text":"Entity index"},{"tag":"param:type","text":"Type of function to hook"},{"tag":"param:callback","text":"Function to call when hook is called"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"dbbc30368d3d3fa6118d3896bfdea8298471a8b3","count":5194,"time":1422410774}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"SDKHookType","name":"type","decl":"SDKHookType type","default":null},{"type":"SDKHookCB","name":"callback","decl":"SDKHookCB callback","default":null}]},"SDKHooks_TakeDamage":{"name":"SDKHooks_TakeDamage","refLine":422,"docStart":13036,"docEnd":13707,"docs":{"brief":"Applies damage to an entity","tags":[{"tag":"","text":"Applies damage to an entity"},{"tag":"note","text":"Force application is dependent on game and damage type(s)"},{"tag":"param:entity","text":"Entity index taking damage"},{"tag":"param:inflictor","text":"Inflictor entity index"},{"tag":"param:attacker","text":"Attacker entity index"},{"tag":"param:damage","text":"Amount of damage"},{"tag":"param:damageType","text":"Bitfield of damage types"},{"tag":"param:weapon","text":"Weapon index (orangebox and later) or -1 for unspecified"},{"tag":"param:damageForce","text":"Velocity of damage force"},{"tag":"param:damagePosition","text":"Origin of damage"},{"tag":"param:bypassHooks","text":"If true, bypass SDK hooks on OnTakeDamage"},{"tag":"error","text":"Invalid entity, attacker, inflictor, or weapon entity."}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"97383028e5ce28ff723eeb462d16b27f38d46317","count":6775,"time":1634144186}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"inflictor","decl":"int inflictor","default":null},{"type":"int","name":"attacker","decl":"int attacker","default":null},{"type":"float","name":"damage","decl":"float damage","default":null},{"type":"int","name":"damageType","decl":"int damageType","default":"0"},{"type":"int","name":"weapon","decl":"int weapon","default":"-1"},{"type":"const float[3]","name":"damageForce","decl":"const float damageForce[3]","default":"NULL_VECTOR"},{"type":"const float[3]","name":"damagePosition","decl":"const float damagePosition[3]","default":"NULL_VECTOR"},{"type":"bool","name":"bypassHooks","decl":"bool bypassHooks","default":"true"}]},"OnGetGameDescription":{"name":"OnGetGameDescription","refLine":320,"docStart":9774,"docEnd":9920,"docs":{"brief":"When the game description is retrieved","tags":[{"tag":"","text":""},{"tag":"brief","text":"When the game description is retrieved"},{"tag":"note","text":"Not supported on ep2v."},{"tag":"param:gameDesc","text":"Game description"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"kind":"forward","returnType":"Action","arguments":[{"type":"char[64]","name":"gameDesc","decl":"char gameDesc[64]","default":null}]},"OnLevelInit":{"name":"OnLevelInit","refLine":329,"docStart":9980,"docEnd":10123,"docs":{"brief":"When the level is initialized","tags":[{"tag":"","text":""},{"tag":"brief","text":"When the level is initialized"},{"tag":"param:mapName","text":"Name of the map"},{"tag":"param:mapEntities","text":"Entities of the map"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"kind":"forward","returnType":"Action","arguments":[{"type":"const char[]","name":"mapName","decl":"const char[] mapName","default":null},{"type":"char[2097152]","name":"mapEntities","decl":"char mapEntities[2097152]","default":null}]},"SDKHooks_DropWeapon":{"name":"SDKHooks_DropWeapon","refLine":437,"docStart":13954,"docEnd":14411,"docs":{"brief":"Forces a client to drop the specified weapon","tags":[{"tag":"","text":"Forces a client to drop the specified weapon"},{"tag":"param:client","text":"Client index."},{"tag":"param:weapon","text":"Weapon entity index."},{"tag":"param:vecTarget","text":"Location to toss weapon to, or NULL_VECTOR for default."},{"tag":"param:vecVelocity","text":"Velocity at which to toss weapon, or NULL_VECTOR for default."},{"tag":"param:bypassHooks","text":"If true, bypass SDK hooks on Weapon Drop"},{"tag":"error","text":"Invalid client or weapon entity, weapon not owned by client."}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"97383028e5ce28ff723eeb462d16b27f38d46317","count":6775,"time":1634144186}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"weapon","decl":"int weapon","default":null},{"type":"const float[3]","name":"vecTarget","decl":"const float vecTarget[3]","default":"NULL_VECTOR"},{"type":"const float[3]","name":"vecVelocity","decl":"const float vecVelocity[3]","default":"NULL_VECTOR"},{"type":"bool","name":"bypassHooks","decl":"bool bypassHooks","default":"true"}]},"SDKUnhook":{"name":"SDKUnhook","refLine":357,"docStart":11021,"docEnd":11193,"docs":{"brief":"Unhooks an entity","tags":[{"tag":"","text":""},{"tag":"brief","text":"Unhooks an entity"},{"tag":"param:entity","text":"Entity index"},{"tag":"param:type","text":"Type of function to unhook"},{"tag":"param:callback","text":"Callback function to unhook"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"dbbc30368d3d3fa6118d3896bfdea8298471a8b3","count":5194,"time":1422410774}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"SDKHookType","name":"type","decl":"SDKHookType type","default":null},{"type":"SDKHookCB","name":"callback","decl":"SDKHookCB callback","default":null}]},"OnEntityCreated":{"name":"OnEntityCreated","refLine":303,"docStart":9652,"docEnd":9762,"docs":{"brief":"When an entity is created","tags":[{"tag":"","text":""},{"tag":"brief","text":"When an entity is created"},{"tag":"param:entity","text":"Entity index"},{"tag":"param:classname","text":"Class name"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"dbbc30368d3d3fa6118d3896bfdea8298471a8b3","count":5194,"time":1422410774}},"kind":"forward","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"const char[]","name":"classname","decl":"const char[] classname","default":null}]},"OnEntityDestroyed":{"name":"OnEntityDestroyed","refLine":310,"docStart":9830,"docEnd":9910,"docs":{"brief":"When an entity is destroyed","tags":[{"tag":"","text":""},{"tag":"brief","text":"When an entity is destroyed"},{"tag":"param:entity","text":"Entity index"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"dbbc30368d3d3fa6118d3896bfdea8298471a8b3","count":5194,"time":1422410774}},"kind":"forward","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"DMG_DROWN":{"name":"DMG_DROWN","refLine":55,"docStart":3130,"docEnd":3146,"docs":{"brief":"Drowning","tags":[{"tag":"","text":"Drowning"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 14)"},"DMG_HALF_FALLOFF":{"name":"DMG_HALF_FALLOFF","refLine":87,"docStart":4822,"docEnd":4848,"docs":{"brief":"50% damage falloff","tags":[{"tag":"","text":"50% damage falloff"}]},"metadata":{"created":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614},"last_updated":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614}},"value":"DMG_RADIATION"},"DMG_PREVENT_PHYSICS_FORCE":{"name":"DMG_PREVENT_PHYSICS_FORCE","refLine":52,"docStart":2815,"docEnd":2847,"docs":{"brief":"Prevent a physics force","tags":[{"tag":"","text":"Prevent a physics force"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 11)"},"DMG_NEVERGIB":{"name":"DMG_NEVERGIB","refLine":53,"docStart":2885,"docEnd":2969,"docs":{"brief":"with this bit OR'd in, no damage type will be able to gib victims upon death","tags":[{"tag":"","text":"with this bit OR'd in, no damage type will be able to gib victims upon death"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 12)"},"DMG_NERVEGAS":{"name":"DMG_NERVEGAS","refLine":57,"docStart":3258,"docEnd":3288,"docs":{"brief":"nerve toxins, very bad","tags":[{"tag":"","text":"nerve toxins, very bad"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 16)"},"DMG_GENERIC":{"name":"DMG_GENERIC","refLine":38,"docStart":1731,"docEnd":1762,"docs":{"brief":"generic damage was done","tags":[{"tag":"","text":"generic damage was done"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"0"},"DMG_USEDISTANCEMOD":{"name":"DMG_USEDISTANCEMOD","refLine":91,"docStart":4932,"docEnd":4957,"docs":{"brief":"Do damage falloff","tags":[{"tag":"","text":"Do damage falloff"}]},"metadata":{"created":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614},"last_updated":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614}},"value":"DMG_SLOWBURN"},"DMG_BULLET":{"name":"DMG_BULLET","refLine":42,"docStart":2189,"docEnd":2201,"docs":{"brief":"shot","tags":[{"tag":"","text":"shot"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 1)"},"DMG_NOCLOSEDISTANCEMOD":{"name":"DMG_NOCLOSEDISTANCEMOD","refLine":83,"docStart":4700,"docEnd":4741,"docs":{"brief":"Don't do damage falloff too close","tags":[{"tag":"","text":"Don't do damage falloff too close"}]},"metadata":{"created":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614},"last_updated":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614}},"value":"DMG_POISON"},"DMG_PLASMA":{"name":"DMG_PLASMA","refLine":66,"docStart":4021,"docEnd":4045,"docs":{"brief":"Shot by Cremator","tags":[{"tag":"","text":"Shot by Cremator"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 24)"},"DMG_AIRBOAT":{"name":"DMG_AIRBOAT","refLine":67,"docStart":4083,"docEnd":4115,"docs":{"brief":"Hit by the airboat's gun","tags":[{"tag":"","text":"Hit by the airboat's gun"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 25)"},"DMG_BURN":{"name":"DMG_BURN","refLine":44,"docStart":2300,"docEnd":2319,"docs":{"brief":"heat burned","tags":[{"tag":"","text":"heat burned"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 3)"},"DMG_RADIATION":{"name":"DMG_RADIATION","refLine":59,"docStart":3426,"docEnd":3452,"docs":{"brief":"radiation exposure","tags":[{"tag":"","text":"radiation exposure"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 18)"},"DMG_CLUB":{"name":"DMG_CLUB","refLine":48,"docStart":2536,"docEnd":2568,"docs":{"brief":"crowbar, punch, headbutt","tags":[{"tag":"","text":"crowbar, punch, headbutt"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 7)"},"DMG_POISON":{"name":"DMG_POISON","refLine":58,"docStart":3325,"docEnd":3387,"docs":{"brief":"blood poisoning - heals over time like drowning damage","tags":[{"tag":"","text":"blood poisoning - heals over time like drowning damage"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 17)"},"DMG_SONIC":{"name":"DMG_SONIC","refLine":50,"docStart":2662,"docEnd":2691,"docs":{"brief":"sound pulse shockwave","tags":[{"tag":"","text":"sound pulse shockwave"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 9)"},"DMG_ALWAYSGIB":{"name":"DMG_ALWAYSGIB","refLine":54,"docStart":3008,"docEnd":3093,"docs":{"brief":"with this bit OR'd in, any damage type can be made to gib victims upon death.","tags":[{"tag":"","text":"with this bit OR'd in, any damage type can be made to gib victims upon death."}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 13)"},"DMG_BLAST_SURFACE":{"name":"DMG_BLAST_SURFACE","refLine":69,"docStart":4213,"docEnd":4287,"docs":{"brief":"A blast on the surface of water that cannot harm things underwater","tags":[{"tag":"","text":"A blast on the surface of water that cannot harm things underwater"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 27)"},"DMG_REMOVENORAGDOLL":{"name":"DMG_REMOVENORAGDOLL","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 22)"},"_sdkhooks_included":{"name":"_sdkhooks_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":""},"DMG_SLASH":{"name":"DMG_SLASH","refLine":43,"docStart":2237,"docEnd":2265,"docs":{"brief":"cut, clawed, stabbed","tags":[{"tag":"","text":"cut, clawed, stabbed"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 2)"},"DMG_IGNITE":{"name":"DMG_IGNITE","refLine":95,"docStart":5025,"docEnd":5046,"docs":{"brief":"Ignite victim","tags":[{"tag":"","text":"Ignite victim"}]},"metadata":{"created":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614},"last_updated":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614}},"value":"DMG_PLASMA"},"DMG_PHYSGUN":{"name":"DMG_PHYSGUN","refLine":65,"docStart":3926,"docEnd":3984,"docs":{"brief":"Hit by manipulator. Usually doesn't do any damage.","tags":[{"tag":"","text":"Hit by manipulator. Usually doesn't do any damage."}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 23)"},"DMG_DISSOLVE":{"name":"DMG_DISSOLVE","refLine":68,"docStart":4153,"docEnd":4172,"docs":{"brief":"Dissolving!","tags":[{"tag":"","text":"Dissolving!"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 26)"},"DMG_ACID":{"name":"DMG_ACID","refLine":61,"docStart":3553,"docEnd":3590,"docs":{"brief":"toxic chemicals or acid burns","tags":[{"tag":"","text":"toxic chemicals or acid burns"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 20)"},"DMG_DIRECT":{"name":"DMG_DIRECT","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 28)"},"DMG_DROWNRECOVER":{"name":"DMG_DROWNRECOVER","refLine":60,"docStart":3492,"docEnd":3517,"docs":{"brief":"drowning recovery","tags":[{"tag":"","text":"drowning recovery"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 19)"},"DMG_VEHICLE":{"name":"DMG_VEHICLE","refLine":45,"docStart":2356,"docEnd":2380,"docs":{"brief":"hit by a vehicle","tags":[{"tag":"","text":"hit by a vehicle"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 4)"},"DMG_SLOWBURN":{"name":"DMG_SLOWBURN","refLine":62,"docStart":3628,"docEnd":3646,"docs":{"brief":"in an oven","tags":[{"tag":"","text":"in an oven"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 21)"},"DMG_PARALYZE":{"name":"DMG_PARALYZE","refLine":56,"docStart":3184,"docEnd":3220,"docs":{"brief":"slows affected creature down","tags":[{"tag":"","text":"slows affected creature down"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 15)"},"DMG_USE_HITLOCATIONS":{"name":"DMG_USE_HITLOCATIONS","refLine":99,"docStart":5132,"docEnd":5200,"docs":{"brief":"Do hit location damage (Like the sniperrifle and ambassador)","tags":[{"tag":"","text":"Do hit location damage (Like the sniperrifle and ambassador)"}]},"metadata":{"created":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614},"last_updated":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614}},"value":"DMG_AIRBOAT"},"DMG_RADIUS_MAX":{"name":"DMG_RADIUS_MAX","refLine":79,"docStart":4586,"docEnd":4611,"docs":{"brief":"No damage falloff","tags":[{"tag":"","text":"No damage falloff"}]},"metadata":{"created":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614},"last_updated":{"hash":"8c61fdc99da4689436087d52d6670c26efb401a4","count":6243,"time":1516975614}},"value":"DMG_ENERGYBEAM"},"DMG_SHOCK":{"name":"DMG_SHOCK","refLine":49,"docStart":2604,"docEnd":2626,"docs":{"brief":"electric shock","tags":[{"tag":"","text":"electric shock"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 8)"},"DMG_ENERGYBEAM":{"name":"DMG_ENERGYBEAM","refLine":51,"docStart":2730,"docEnd":2770,"docs":{"brief":"laser or other high energy beam","tags":[{"tag":"","text":"laser or other high energy beam"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 10)"},"DMG_BLAST":{"name":"DMG_BLAST","refLine":47,"docStart":2471,"docEnd":2501,"docs":{"brief":"explosive blast damage","tags":[{"tag":"","text":"explosive blast damage"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 6)"},"DMG_CRIT":{"name":"DMG_CRIT","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"DMG_ACID"},"DMG_CRUSH":{"name":"DMG_CRUSH","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 0)"},"DMG_BUCKSHOT":{"name":"DMG_BUCKSHOT","refLine":71,"docStart":4361,"docEnd":4416,"docs":{"brief":"not quite a bullet. Little, rounder, different.","tags":[{"tag":"","text":"not quite a bullet. Little, rounder, different."}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 29)"},"DMG_FALL":{"name":"DMG_FALL","refLine":46,"docStart":2415,"docEnd":2435,"docs":{"brief":"fell too far","tags":[{"tag":"","text":"fell too far"}]},"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":"(1 << 5)"}},"enums":{"UseType":{"name":"UseType","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"entries":{"Use_On":{"name":"Use_On","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":null},"Use_Off":{"name":"Use_Off","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":null},"Use_Set":{"name":"Use_Set","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":null},"Use_Toggle":{"name":"Use_Toggle","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788}},"value":null}}},"SDKHookType":{"name":"SDKHookType","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"entries":{"SDKHook_OnTakeDamageAlivePost":{"name":"SDKHook_OnTakeDamageAlivePost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_Touch":{"name":"SDKHook_Touch","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_OnTakeDamagePost":{"name":"SDKHook_OnTakeDamagePost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_PreThink":{"name":"SDKHook_PreThink","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_SetTransmit":{"name":"SDKHook_SetTransmit","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_TraceAttackPost":{"name":"SDKHook_TraceAttackPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_ShouldCollide":{"name":"SDKHook_ShouldCollide","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_GroundEntChangedPost":{"name":"SDKHook_GroundEntChangedPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_VPhysicsUpdatePost":{"name":"SDKHook_VPhysicsUpdatePost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_ReloadPost":{"name":"SDKHook_ReloadPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_OnTakeDamageAlive":{"name":"SDKHook_OnTakeDamageAlive","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_StartTouchPost":{"name":"SDKHook_StartTouchPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponCanUsePost":{"name":"SDKHook_WeaponCanUsePost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponCanSwitchTo":{"name":"SDKHook_WeaponCanSwitchTo","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_PostThink":{"name":"SDKHook_PostThink","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_SpawnPost":{"name":"SDKHook_SpawnPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_CanBeAutobalanced":{"name":"SDKHook_CanBeAutobalanced","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_FireBulletsPost":{"name":"SDKHook_FireBulletsPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_Think":{"name":"SDKHook_Think","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponDrop":{"name":"SDKHook_WeaponDrop","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponEquip":{"name":"SDKHook_WeaponEquip","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_PreThinkPost":{"name":"SDKHook_PreThinkPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_OnTakeDamage":{"name":"SDKHook_OnTakeDamage","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_EndTouch":{"name":"SDKHook_EndTouch","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponCanSwitchToPost":{"name":"SDKHook_WeaponCanSwitchToPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponCanUse":{"name":"SDKHook_WeaponCanUse","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponEquipPost":{"name":"SDKHook_WeaponEquipPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_UsePost":{"name":"SDKHook_UsePost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponSwitchPost":{"name":"SDKHook_WeaponSwitchPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_Reload":{"name":"SDKHook_Reload","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_GetMaxHealth":{"name":"SDKHook_GetMaxHealth","refLine":119,"docStart":5414,"docEnd":5436,"docs":{"brief":"ep2v and later","tags":[{"tag":"","text":"ep2v and later"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_ThinkPost":{"name":"SDKHook_ThinkPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponDropPost":{"name":"SDKHook_WeaponDropPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_Blocked":{"name":"SDKHook_Blocked","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_WeaponSwitch":{"name":"SDKHook_WeaponSwitch","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_EndTouchPost":{"name":"SDKHook_EndTouchPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_PostThinkPost":{"name":"SDKHook_PostThinkPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_StartTouch":{"name":"SDKHook_StartTouch","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_Use":{"name":"SDKHook_Use","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_BlockedPost":{"name":"SDKHook_BlockedPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_TouchPost":{"name":"SDKHook_TouchPost","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_Spawn":{"name":"SDKHook_Spawn","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_TraceAttack":{"name":"SDKHook_TraceAttack","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null},"SDKHook_VPhysicsUpdate":{"name":"SDKHook_VPhysicsUpdate","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"value":null}}}},"typesets":{"SDKHookCB":{"name":"SDKHookCB","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"a9e252314d7fedb2f7206099296967aad97136e2","count":5074,"time":1418202788},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"types":{"function Action(int victim, int& attacker, int& inflictor, float& damage, int& damagetype, int& weapon, float damageForce[3], float damagePosition[3], int damagecustom)":{"refLine":264,"docStart":8065,"docEnd":8255,"docs":{"brief":"SDKHooks 2.1+ (can check for support at runtime using GetFeatureStatus on SDKHook_DmgCustomInOTD capability.\nDON'T attempt to access 'damagecustom' var if feature status != available","tags":[{"tag":"","text":"SDKHooks 2.1+ (can check for support at runtime using GetFeatureStatus on SDKHook_DmgCustomInOTD capability.\nDON'T attempt to access 'damagecustom' var if feature status != available"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int victim, int& attacker, int& inflictor, float& damage, int& damagetype, int& weapon, float damageForce[3], float damagePosition[3], int damagecustom)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"victim","decl":"int victim","default":null},{"type":"int&","name":"attacker","decl":"int& attacker","default":null},{"type":"int&","name":"inflictor","decl":"int& inflictor","default":null},{"type":"float&","name":"damage","decl":"float& damage","default":null},{"type":"int&","name":"damagetype","decl":"int& damagetype","default":null},{"type":"int&","name":"weapon","decl":"int& weapon","default":null},{"type":"float","name":"damageForce[3]","decl":"float damageForce[3]","default":null},{"type":"float","name":"damagePosition[3]","decl":"float damagePosition[3]","default":null},{"type":"int","name":"damagecustom","decl":"int damagecustom","default":null}]}},"function Action(int entity, int other)":{"refLine":227,"docStart":6986,"docEnd":7034,"docs":{"brief":"EndTouch\nStartTouch\nTouch\nBlocked","tags":[{"tag":"","text":"EndTouch\nStartTouch\nTouch\nBlocked"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int entity, int other)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"other","decl":"int other","default":null}]}},"function Action(int entity, int client)":{"refLine":235,"docStart":7172,"docEnd":7186,"docs":{"brief":"SetTransmit","tags":[{"tag":"","text":"SetTransmit"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int entity, int client)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"client","decl":"int client","default":null}]}},"function Action(int entity, int& maxhealth)":{"refLine":252,"docStart":7515,"docEnd":7547,"docs":{"brief":"GetMaxHealth (ep2v and later)","tags":[{"tag":"","text":"GetMaxHealth (ep2v and later)"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int entity, int& maxhealth)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int&","name":"maxhealth","decl":"int& maxhealth","default":null}]}},"function Action(int entity)":{"refLine":215,"docStart":6838,"docEnd":6846,"docs":{"brief":"Spawn","tags":[{"tag":"","text":"Spawn"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int entity)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]}},"function Action(int victim, int& attacker, int& inflictor, float& damage, int& damagetype, int& weapon, float damageForce[3], float damagePosition[3])":{"refLine":261,"docStart":7893,"docEnd":7909,"docs":{"brief":"SDKHooks 2.0+","tags":[{"tag":"","text":"SDKHooks 2.0+"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int victim, int& attacker, int& inflictor, float& damage, int& damagetype, int& weapon, float damageForce[3], float damagePosition[3])","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"victim","decl":"int victim","default":null},{"type":"int&","name":"attacker","decl":"int& attacker","default":null},{"type":"int&","name":"inflictor","decl":"int& inflictor","default":null},{"type":"float&","name":"damage","decl":"float& damage","default":null},{"type":"int&","name":"damagetype","decl":"int& damagetype","default":null},{"type":"int&","name":"weapon","decl":"int& weapon","default":null},{"type":"float","name":"damageForce[3]","decl":"float damageForce[3]","default":null},{"type":"float","name":"damagePosition[3]","decl":"float damagePosition[3]","default":null}]}},"function Action(int victim, int& attacker, int& inflictor, float& damage, int& damagetype)":{"refLine":259,"docStart":7598,"docEnd":7797,"docs":{"brief":"OnTakeDamage\nOnTakeDamageAlive\nNote: The weapon parameter is not used by all games and damage sources.\nNote: Force application is dependent on game and damage type(s)\nSDKHooks 1.0+","tags":[{"tag":"","text":"OnTakeDamage\nOnTakeDamageAlive\nNote: The weapon parameter is not used by all games and damage sources.\nNote: Force application is dependent on game and damage type(s)\nSDKHooks 1.0+"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int victim, int& attacker, int& inflictor, float& damage, int& damagetype)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"victim","decl":"int victim","default":null},{"type":"int&","name":"attacker","decl":"int& attacker","default":null},{"type":"int&","name":"inflictor","decl":"int& inflictor","default":null},{"type":"float&","name":"damage","decl":"float& damage","default":null},{"type":"int&","name":"damagetype","decl":"int& damagetype","default":null}]}},"function Action(int victim, int& attacker, int& inflictor, float& damage, int& damagetype, int& ammotype, int hitbox, int hitgroup)":{"refLine":278,"docStart":8996,"docEnd":9010,"docs":{"brief":"TraceAttack","tags":[{"tag":"","text":"TraceAttack"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int victim, int& attacker, int& inflictor, float& damage, int& damagetype, int& ammotype, int hitbox, int hitgroup)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"victim","decl":"int victim","default":null},{"type":"int&","name":"attacker","decl":"int& attacker","default":null},{"type":"int&","name":"inflictor","decl":"int& inflictor","default":null},{"type":"float&","name":"damage","decl":"float& damage","default":null},{"type":"int&","name":"damagetype","decl":"int& damagetype","default":null},{"type":"int&","name":"ammotype","decl":"int& ammotype","default":null},{"type":"int","name":"hitbox","decl":"int hitbox","default":null},{"type":"int","name":"hitgroup","decl":"int hitgroup","default":null}]}},"function void(int victim, int attacker, int inflictor, float damage, int damagetype)":{"refLine":269,"docStart":8433,"docEnd":8478,"docs":{"brief":"OnTakeDamagePost\nOnTakeDamageAlivePost","tags":[{"tag":"","text":"OnTakeDamagePost\nOnTakeDamageAlivePost"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int victim, int attacker, int inflictor, float damage, int damagetype)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"victim","decl":"int victim","default":null},{"type":"int","name":"attacker","decl":"int attacker","default":null},{"type":"int","name":"inflictor","decl":"int inflictor","default":null},{"type":"float","name":"damage","decl":"float damage","default":null},{"type":"int","name":"damagetype","decl":"int damagetype","default":null}]}},"function Action(int weapon)":{"refLine":293,"docStart":9599,"docEnd":9608,"docs":{"brief":"Reload","tags":[{"tag":"","text":"Reload"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int weapon)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"weapon","decl":"int weapon","default":null}]}},"function void(int weapon, bool bSuccessful)":{"refLine":296,"docStart":9643,"docEnd":9657,"docs":{"brief":"Reload post","tags":[{"tag":"","text":"Reload post"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int weapon, bool bSuccessful)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"weapon","decl":"int weapon","default":null},{"type":"bool","name":"bSuccessful","decl":"bool bSuccessful","default":null}]}},"function void(int entity)":{"refLine":221,"docStart":6881,"docEnd":6953,"docs":{"brief":"GroundEntChanged\nSpawnPost\nThink/Post\nVPhysicsUpdate/Post","tags":[{"tag":"","text":"GroundEntChanged\nSpawnPost\nThink/Post\nVPhysicsUpdate/Post"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int entity)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]}},"function void(int client, int shots, const char[] weaponname)":{"refLine":275,"docStart":8909,"docEnd":8927,"docs":{"brief":"FireBulletsPost","tags":[{"tag":"","text":"FireBulletsPost"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int client, int shots, const char[] weaponname)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"shots","decl":"int shots","default":null},{"type":"const char[]","name":"weaponname","decl":"const char[] weaponname","default":null}]}},"function bool(int entity, int collisiongroup, int contentsmask, bool originalResult)":{"refLine":284,"docStart":9299,"docEnd":9315,"docs":{"brief":"ShouldCollide","tags":[{"tag":"","text":"ShouldCollide"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function bool(int entity, int collisiongroup, int contentsmask, bool originalResult)","parsedSignature":{"returnType":"bool","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"collisiongroup","decl":"int collisiongroup","default":null},{"type":"int","name":"contentsmask","decl":"int contentsmask","default":null},{"type":"bool","name":"originalResult","decl":"bool originalResult","default":null}]}},"function void(int client, int weapon)":{"refLine":249,"docStart":7365,"docEnd":7470,"docs":{"brief":"WeaponCanSwitchToPost\nWeaponCanUsePost\nWeaponDropPost\nWeaponEquipPost\nWeaponSwitchPost","tags":[{"tag":"","text":"WeaponCanSwitchToPost\nWeaponCanUsePost\nWeaponDropPost\nWeaponEquipPost\nWeaponSwitchPost"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int client, int weapon)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"weapon","decl":"int weapon","default":null}]}},"function void(int victim, int attacker, int inflictor, float damage, int damagetype, int weapon, const float damageForce[3], const float damagePosition[3])":{"refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int victim, int attacker, int inflictor, float damage, int damagetype, int weapon, const float damageForce[3], const float damagePosition[3])","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"victim","decl":"int victim","default":null},{"type":"int","name":"attacker","decl":"int attacker","default":null},{"type":"int","name":"inflictor","decl":"int inflictor","default":null},{"type":"float","name":"damage","decl":"float damage","default":null},{"type":"int","name":"damagetype","decl":"int damagetype","default":null},{"type":"int","name":"weapon","decl":"int weapon","default":null},{"type":"const float","name":"damageForce[3]","decl":"const float damageForce[3]","default":null},{"type":"const float","name":"damagePosition[3]","decl":"const float damagePosition[3]","default":null}]}},"function Action(int entity, int activator, int caller, UseType type, float value)":{"refLine":287,"docStart":9407,"docEnd":9413,"docs":{"brief":"Use","tags":[{"tag":"","text":"Use"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int entity, int activator, int caller, UseType type, float value)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"activator","decl":"int activator","default":null},{"type":"int","name":"caller","decl":"int caller","default":null},{"type":"UseType","name":"type","decl":"UseType type","default":null},{"type":"float","name":"value","decl":"float value","default":null}]}},"function void(int client)":{"refLine":212,"docStart":6770,"docEnd":6805,"docs":{"brief":"PreThink/Post\nPostThink/Post","tags":[{"tag":"","text":"PreThink/Post\nPostThink/Post"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int client)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]}},"function void(int victim, int attacker, int inflictor, float damage, int damagetype, int weapon, const float damageForce[3], const float damagePosition[3], int damagecustom)":{"refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int victim, int attacker, int inflictor, float damage, int damagetype, int weapon, const float damageForce[3], const float damagePosition[3], int damagecustom)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"victim","decl":"int victim","default":null},{"type":"int","name":"attacker","decl":"int attacker","default":null},{"type":"int","name":"inflictor","decl":"int inflictor","default":null},{"type":"float","name":"damage","decl":"float damage","default":null},{"type":"int","name":"damagetype","decl":"int damagetype","default":null},{"type":"int","name":"weapon","decl":"int weapon","default":null},{"type":"const float","name":"damageForce[3]","decl":"const float damageForce[3]","default":null},{"type":"const float","name":"damagePosition[3]","decl":"const float damagePosition[3]","default":null},{"type":"int","name":"damagecustom","decl":"int damagecustom","default":null}]}},"function void(int victim, int attacker, int inflictor, float damage, int damagetype, int ammotype, int hitbox, int hitgroup)":{"refLine":281,"docStart":9149,"docEnd":9167,"docs":{"brief":"TraceAttackPost","tags":[{"tag":"","text":"TraceAttackPost"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int victim, int attacker, int inflictor, float damage, int damagetype, int ammotype, int hitbox, int hitgroup)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"victim","decl":"int victim","default":null},{"type":"int","name":"attacker","decl":"int attacker","default":null},{"type":"int","name":"inflictor","decl":"int inflictor","default":null},{"type":"float","name":"damage","decl":"float damage","default":null},{"type":"int","name":"damagetype","decl":"int damagetype","default":null},{"type":"int","name":"ammotype","decl":"int ammotype","default":null},{"type":"int","name":"hitbox","decl":"int hitbox","default":null},{"type":"int","name":"hitgroup","decl":"int hitgroup","default":null}]}},"function void(int entity, int other)":{"refLine":232,"docStart":7080,"docEnd":7128,"docs":{"brief":"EndTouchPost\nStartTouchPost\nTouchPost","tags":[{"tag":"","text":"EndTouchPost\nStartTouchPost\nTouchPost"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int entity, int other)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"other","decl":"int other","default":null}]}},"function Action(int client, int weapon)":{"refLine":242,"docStart":7233,"docEnd":7318,"docs":{"brief":"WeaponCanSwitchTo\nWeaponCanUse\nWeaponDrop\nWeaponEquip\nWeaponSwitch","tags":[{"tag":"","text":"WeaponCanSwitchTo\nWeaponCanUse\nWeaponDrop\nWeaponEquip\nWeaponSwitch"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function Action(int client, int weapon)","parsedSignature":{"returnType":"Action","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"weapon","decl":"int weapon","default":null}]}},"function bool(int client, bool origRet)":{"refLine":299,"docStart":9708,"docEnd":9728,"docs":{"brief":"CanBeAutobalanced","tags":[{"tag":"","text":"CanBeAutobalanced"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function bool(int client, bool origRet)","parsedSignature":{"returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"bool","name":"origRet","decl":"bool origRet","default":null}]}},"function void(int entity, int activator, int caller, UseType type, float value)":{"refLine":290,"docStart":9502,"docEnd":9512,"docs":{"brief":"UsePost","tags":[{"tag":"","text":"UsePost"}]},"metadata":{"created":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100},"last_updated":{"hash":"818e1e4e1804bed3194bee458d831bb90ea18af0","count":5797,"time":1448552100}},"type":"function void(int entity, int activator, int caller, UseType type, float value)","parsedSignature":{"returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null},{"type":"int","name":"activator","decl":"int activator","default":null},{"type":"int","name":"caller","decl":"int caller","default":null},{"type":"UseType","name":"type","decl":"UseType type","default":null},{"type":"float","name":"value","decl":"float value","default":null}]}}}}},"typedefs":{}},"sdktools_variant_t":{"functions":{"SetVariantFloat":{"name":"SetVariantFloat","refLine":64,"docStart":2022,"docEnd":2121,"docs":{"brief":"Sets a floating point value in the global variant object.","tags":[{"tag":"","text":"Sets a floating point value in the global variant object."},{"tag":"param:val","text":"Input value."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"float","name":"val","decl":"float val","default":null}]},"SetVariantString":{"name":"SetVariantString","refLine":50,"docStart":1755,"docEnd":1841,"docs":{"brief":"Sets a string in the global variant object.","tags":[{"tag":"","text":"Sets a string in the global variant object."},{"tag":"param:str","text":"Input string."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"str","decl":"const char[] str","default":null}]},"SetVariantPosVector3D":{"name":"SetVariantPosVector3D","refLine":78,"docStart":2306,"docEnd":2413,"docs":{"brief":"Sets a 3D position vector in the global variant object.","tags":[{"tag":"","text":"Sets a 3D position vector in the global variant object."},{"tag":"param:vec","text":"Input position vector."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"SetVariantColor":{"name":"SetVariantColor","refLine":85,"docStart":2470,"docEnd":2556,"docs":{"brief":"Sets a color in the global variant object.","tags":[{"tag":"","text":"Sets a color in the global variant object."},{"tag":"param:color","text":"Input color."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"const int[4]","name":"color","decl":"const int color[4]","default":null}]},"SetVariantVector3D":{"name":"SetVariantVector3D","refLine":71,"docStart":2163,"docEnd":2252,"docs":{"brief":"Sets a 3D vector in the global variant object.","tags":[{"tag":"","text":"Sets a 3D vector in the global variant object."},{"tag":"param:vec","text":"Input vector."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"SetVariantInt":{"name":"SetVariantInt","refLine":57,"docStart":1891,"docEnd":1984,"docs":{"brief":"Sets an integer value in the global variant object.","tags":[{"tag":"","text":"Sets an integer value in the global variant object."},{"tag":"param:val","text":"Input value."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"val","decl":"int val","default":null}]},"SetVariantBool":{"name":"SetVariantBool","refLine":43,"docStart":1626,"docEnd":1715,"docs":{"brief":"Sets a bool value in the global variant object.","tags":[{"tag":"","text":"Sets a bool value in the global variant object."},{"tag":"param:val","text":"Input value."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"bool","name":"val","decl":"bool val","default":null}]},"SetVariantEntity":{"name":"SetVariantEntity","refLine":93,"docStart":2607,"docEnd":2729,"docs":{"brief":"Sets an entity in the global variant object.","tags":[{"tag":"","text":"Sets an entity in the global variant object."},{"tag":"param:entity","text":"Entity index."},{"tag":"error","text":"Invalid entity index."}]},"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"entity","decl":"int entity","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_sdktools_variant_t_included":{"name":"_sdktools_variant_t_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983},"last_updated":{"hash":"08238a803642352ab5e9490e5c78d252cc7e0eff","count":6056,"time":1487204983}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"keyvalues":{"functions":{"KvGetVector":{"name":"KvGetVector","refLine":464,"docStart":18172,"docEnd":18485,"docs":{"brief":"Retrieves a vector value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a vector value from a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:vec","text":"Destination vector to store the value in."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"221429ff6e12b540644cdebe81224b9fcbf0923d","count":1735,"time":1196469467},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null},{"type":"const float[3]","name":"defvalue","decl":"const float defvalue[3]","default":"{ 0.000000, 0.000000, 0.000000 }"}]},"KvJumpToKeySymbol":{"name":"KvJumpToKeySymbol","refLine":201,"docStart":6655,"docEnd":6862,"docs":{"brief":"Sets the current position in the KeyValues tree to the given key.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the given key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:id","text":"KeyValues id."},{"tag":"return","text":"True if the key exists, false if it does not."}]},"metadata":{"created":{"hash":"64a07ce1980ff9837ee7bbc65b51848355b071a0","count":1708,"time":1195627780},"last_updated":{"hash":"64a07ce1980ff9837ee7bbc65b51848355b071a0","count":1708,"time":1195627780}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"int","name":"id","decl":"int id","default":null}]},"KvGetNameSymbol":{"name":"KvGetNameSymbol","refLine":387,"docStart":12648,"docEnd":12899,"docs":{"brief":"Finds a KeyValues id inside a KeyValues tree.","tags":[{"tag":"","text":"Finds a KeyValues id inside a KeyValues tree."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Key name."},{"tag":"param:id","text":"Id of the found KeyValue."},{"tag":"return","text":"True on success, false if key not found."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"2ff0469648f3f0b13c0f5768c41dbfa5a3140bc5","count":1402,"time":1189447386},"last_updated":{"hash":"2ff0469648f3f0b13c0f5768c41dbfa5a3140bc5","count":1402,"time":1189447386}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int&","name":"id","decl":"int& id","default":null}]},"KvGetFloat":{"name":"KvGetFloat","refLine":139,"docStart":3956,"docEnd":4250,"docs":{"brief":"Retrieves a floating point value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a floating point value from a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."},{"tag":"return","text":"Floating point value of the key."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"float","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"float","name":"defvalue","decl":"float defvalue","default":"0.000000"}]},"KvGotoFirstSubKey":{"name":"KvGotoFirstSubKey","refLine":186,"docStart":5567,"docEnd":5907,"docs":{"brief":"Sets the current position in the KeyValues tree to the first sub key.\nThis native adds to the internal traversal stack.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the first sub key.\nThis native adds to the internal traversal stack."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:keyOnly","text":"If false, non-keys will be traversed (values)."},{"tag":"return","text":"True on success, false if there was no first sub key."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"34934677718051aec37377fdab1ddf9fe7cfd95a","count":754,"time":1178506738},"last_updated":{"hash":"34934677718051aec37377fdab1ddf9fe7cfd95a","count":754,"time":1178506738}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"bool","name":"keyOnly","decl":"bool keyOnly","default":"true"}]},"KvSetString":{"name":"KvSetString","refLine":342,"docStart":14238,"docEnd":14442,"docs":{"brief":"Sets a string value of a KeyValues key.","tags":[{"tag":"","text":"Sets a string value of a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"String value."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"KvJumpFirstSubKey":{"name":"KvJumpFirstSubKey","refLine":184,"docStart":5561,"docEnd":5780,"docs":{"brief":"Sets the current position in the KeyValues tree to the first sub key.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the first sub key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"return","text":"True on success, false if there was no first sub key."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null}]},"KvCopySubkeys":{"name":"KvCopySubkeys","refLine":662,"docStart":24959,"docEnd":25269,"docs":{"brief":"Makes a new copy of all subkeys in the origin KeyValues to\nthe destination KeyValues.\nNOTE: All KeyValues are processed from the current location not the root one.","tags":[{"tag":"","text":"Makes a new copy of all subkeys in the origin KeyValues to\nthe destination KeyValues.\nNOTE: All KeyValues are processed from the current location not the root one."},{"tag":"param:origin","text":"Origin KeyValues Handle."},{"tag":"param:dest","text":"Destination KeyValues Handle."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"2ff0469648f3f0b13c0f5768c41dbfa5a3140bc5","count":1402,"time":1189447386},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"origin","decl":"Handle origin","default":null},{"type":"Handle","name":"dest","decl":"Handle dest","default":null}]},"KvGetNum":{"name":"KvGetNum","refLine":128,"docStart":3610,"docEnd":3891,"docs":{"brief":"Retrieves an integer value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves an integer value from a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."},{"tag":"return","text":"Integer value of the key."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int","name":"defvalue","decl":"int defvalue","default":"0"}]},"CreateKeyValues":{"name":"CreateKeyValues","refLine":332,"docStart":13795,"docEnd":14126,"docs":{"brief":"Creates a new KeyValues structure. The Handle must always be closed.","tags":[{"tag":"","text":"Creates a new KeyValues structure. The Handle must always be closed."},{"tag":"param:name","text":"Name of the root section."},{"tag":"param:firstKey","text":"If non-empty, specifies the first key value."},{"tag":"param:firstValue","text":"If firstKey is non-empty, specifies the first key's value."},{"tag":"return","text":"A Handle to a new KeyValues structure."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"KeyValues","arguments":[{"type":"const char[]","name":"name","decl":"const char[] name","default":null},{"type":"const char[]","name":"firstKey","decl":"const char[] firstKey","default":"\"\""},{"type":"const char[]","name":"firstValue","decl":"const char[] firstValue","default":"\"\""}]},"KvJumpToKey":{"name":"KvJumpToKey","refLine":175,"docStart":5174,"docEnd":5481,"docs":{"brief":"Sets the current position in the KeyValues tree to the given key.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the given key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key."},{"tag":"param:create","text":"If true, and the key does not exist, it will be created."},{"tag":"return","text":"True if the key exists, false if it does not and was not created."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"bool","name":"create","decl":"bool create","default":"false"}]},"KvDeleteKey":{"name":"KvDeleteKey","refLine":203,"docStart":6096,"docEnd":6319,"docs":{"brief":"Removes the given key from the current position.","tags":[{"tag":"","text":"Removes the given key from the current position."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key."},{"tag":"return","text":"True on success, false if key did not exist."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"70130722363984b9f08febae9b7a69449b6d93fe","count":744,"time":1178432148},"last_updated":{"hash":"70130722363984b9f08febae9b7a69449b6d93fe","count":744,"time":1178432148}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null}]},"KvGetSectionSymbol":{"name":"KvGetSectionSymbol","refLine":406,"docStart":13227,"docEnd":13435,"docs":{"brief":"Retrieves the current section id.","tags":[{"tag":"","text":"Retrieves the current section id."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:id","text":"Id of the current section."},{"tag":"return","text":"True on success, false on failure."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"19c184aefc21f6a2987e722cf5776c2af2b16909","count":1710,"time":1195678680},"last_updated":{"hash":"19c184aefc21f6a2987e722cf5776c2af2b16909","count":1710,"time":1195678680}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"int&","name":"id","decl":"int& id","default":null}]},"KvNodesInStack":{"name":"KvNodesInStack","refLine":311,"docStart":9317,"docEnd":9616,"docs":{"brief":"Returns the position in the jump stack; I.e. the number of calls\nrequired for KvGoBack to return to the root node. If at the root node,\n0 is returned.","tags":[{"tag":"","text":"Returns the position in the jump stack; I.e. the number of calls\nrequired for KvGoBack to return to the root node. If at the root node,\n0 is returned."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"return","text":"Number of non-root nodes in the jump stack."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"e69edf05ebe2b2e6dab9c61d0574c19d83c16879","count":751,"time":1178496153},"last_updated":{"hash":"e69edf05ebe2b2e6dab9c61d0574c19d83c16879","count":751,"time":1178496153}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null}]},"KvGetDataType":{"name":"KvGetDataType","refLine":246,"docStart":7377,"docEnd":7560,"docs":{"brief":"Returns the data type at a key.","tags":[{"tag":"","text":"Returns the data type at a key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Key name."},{"tag":"return","text":"KvDataType value of the key."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"KvDataTypes","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null}]},"KvGetUint64":{"name":"KvGetUint64","refLine":165,"docStart":4773,"docEnd":5089,"docs":{"brief":"Retrieves a large integer value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a large integer value from a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key."},{"tag":"param:value","text":"Array to represent the large integer."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int[2]","name":"value","decl":"int value[2]","default":null},{"type":"int[2]","name":"defvalue","decl":"int defvalue[2]","default":"{ 0, 0 }"}]},"KvGoBack":{"name":"KvGoBack","refLine":204,"docStart":6090,"docEnd":6452,"docs":{"brief":"Jumps back to the previous position. Returns false if there are no\nprevious positions (i.e., at the root node). This should be called\nonce for each successful Jump call, in order to return to the top node.","tags":[{"tag":"","text":"Jumps back to the previous position. Returns false if there are no\nprevious positions (i.e., at the root node). This should be called\nonce for each successful Jump call, in order to return to the top node."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"return","text":"True on success, false if there is no higher node."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null}]},"KvSetNum":{"name":"KvSetNum","refLine":352,"docStart":14521,"docEnd":14727,"docs":{"brief":"Sets an integer value of a KeyValues key.","tags":[{"tag":"","text":"Sets an integer value of a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Value number."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int","name":"value","decl":"int value","default":null}]},"KvFindKeyById":{"name":"KvFindKeyById","refLine":376,"docStart":12278,"docEnd":12575,"docs":{"brief":"Finds a KeyValues name by id.","tags":[{"tag":"","text":"Finds a KeyValues name by id."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:id","text":"KeyValues id."},{"tag":"param:name","text":"Buffer to store the name."},{"tag":"param:maxlength","text":"Maximum length of the value buffer."},{"tag":"return","text":"True on success, false if id not found."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"2ff0469648f3f0b13c0f5768c41dbfa5a3140bc5","count":1402,"time":1189447386},"last_updated":{"hash":"2ff0469648f3f0b13c0f5768c41dbfa5a3140bc5","count":1402,"time":1189447386}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"int","name":"id","decl":"int id","default":null},{"type":"char[]","name":"name","decl":"char[] name","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"KvSetFloat":{"name":"KvSetFloat","refLine":372,"docStart":15112,"docEnd":15332,"docs":{"brief":"Sets a floating point value of a KeyValues key.","tags":[{"tag":"","text":"Sets a floating point value of a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Floating point value."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"float","name":"value","decl":"float value","default":null}]},"FileToKeyValues":{"name":"FileToKeyValues","refLine":268,"docStart":7954,"docEnd":8218,"docs":{"brief":"Converts a file to a KeyValues tree. The file is read into\nthe current position of the tree.","tags":[{"tag":"","text":"Converts a file to a KeyValues tree. The file is read into\nthe current position of the tree."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:file","text":"File to read from."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"file","decl":"const char[] file","default":null}]},"KvDeleteThis":{"name":"KvDeleteThis","refLine":236,"docStart":7076,"docEnd":7773,"docs":{"brief":"Removes the current sub-key and attempts to set the position\nto the sub-key after the removed one. If no such sub-key exists,\nthe position will be the parent key in the traversal stack.\nGiven the sub-key having position \"N\" in the traversal stack, the\nremoval will always take place from position \"N-1.\"","tags":[{"tag":"","text":"Removes the current sub-key and attempts to set the position\nto the sub-key after the removed one. If no such sub-key exists,\nthe position will be the parent key in the traversal stack.\nGiven the sub-key having position \"N\" in the traversal stack, the\nremoval will always take place from position \"N-1.\""},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"return","text":"1 if removal succeeded and there was another key.\n0 if the current node was not contained in the\nprevious node, or no previous node exists.\n-1 if removal succeeded and there were no more keys,\nthus the state is as if KvGoBack() was called."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"70130722363984b9f08febae9b7a69449b6d93fe","count":744,"time":1178432148},"last_updated":{"hash":"34934677718051aec37377fdab1ddf9fe7cfd95a","count":754,"time":1178506738}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null}]},"KvGetColor":{"name":"KvGetColor","refLine":442,"docStart":17295,"docEnd":17668,"docs":{"brief":"Retrieves a set of color values from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a set of color values from a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:r","text":"Red value, set by reference."},{"tag":"param:g","text":"Green value, set by reference."},{"tag":"param:b","text":"Blue value, set by reference."},{"tag":"param:a","text":"Alpha value, set by reference."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int&","name":"r","decl":"int& r","default":null},{"type":"int&","name":"g","decl":"int& g","default":null},{"type":"int&","name":"b","decl":"int& b","default":null},{"type":"int&","name":"a","decl":"int& a","default":null}]},"KvSavePosition":{"name":"KvSavePosition","refLine":516,"docStart":20141,"docEnd":20418,"docs":{"brief":"Saves the current position in the traversal stack onto the traversal\nstack. This can be useful if you wish to use KvGotoNextKey() and\nhave the previous key saved for backwards traversal.","tags":[{"tag":"","text":"Saves the current position in the traversal stack onto the traversal\nstack. This can be useful if you wish to use KvGotoNextKey() and\nhave the previous key saved for backwards traversal."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"34934677718051aec37377fdab1ddf9fe7cfd95a","count":754,"time":1178506738},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null}]},"KvSetUInt64":{"name":"KvSetUInt64","refLine":362,"docStart":14794,"docEnd":15037,"docs":{"brief":"Sets a large integer value of a KeyValues key.","tags":[{"tag":"","text":"Sets a large integer value of a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Large integer value (0=High bits, 1=Low bits)"},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"2cad3c34241c91edf78b39e7fb1f282b98955d1c","count":817,"time":1179610574},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const int[2]","name":"value","decl":"const int value[2]","default":null}]},"KvGetUInt64":{"name":"KvGetUInt64","refLine":453,"docStart":17758,"docEnd":18076,"docs":{"brief":"Retrieves a large integer value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a large integer value from a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Array to represent the large integer."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"2cad3c34241c91edf78b39e7fb1f282b98955d1c","count":817,"time":1179610574},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int[2]","name":"value","decl":"int value[2]","default":null},{"type":"int[2]","name":"defvalue","decl":"int defvalue[2]","default":"{ 0, 0 }"}]},"KvSetVector":{"name":"KvSetVector","refLine":395,"docStart":15782,"docEnd":15984,"docs":{"brief":"Sets a vector value of a KeyValues key.","tags":[{"tag":"","text":"Sets a vector value of a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:vec","text":"Vector value."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"221429ff6e12b540644cdebe81224b9fcbf0923d","count":1735,"time":1196469467},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"KvRewind":{"name":"KvRewind","refLine":565,"docStart":21948,"docEnd":22210,"docs":{"brief":"Sets the position back to the top node, emptying the entire node\ntraversal history. This can be used instead of looping KvGoBack()\nif recursive iteration is not important.","tags":[{"tag":"","text":"Sets the position back to the top node, emptying the entire node\ntraversal history. This can be used instead of looping KvGoBack()\nif recursive iteration is not important."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null}]},"KvJumpNextSubKey":{"name":"KvJumpNextSubKey","refLine":193,"docStart":5827,"docEnd":6044,"docs":{"brief":"Sets the current position in the KeyValues tree to the next sub key.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the next sub key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"return","text":"True on success, false if there was no next sub key."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null}]},"KvSetEscapeSequences":{"name":"KvSetEscapeSequences","refLine":640,"docStart":24224,"docEnd":24550,"docs":{"brief":"Sets whether or not the KeyValues parser will read escape sequences.\nFor example, \\n would be read as a literal newline. This defaults\nto false for new KeyValues structures.","tags":[{"tag":"","text":"Sets whether or not the KeyValues parser will read escape sequences.\nFor example, \\n would be read as a literal newline. This defaults\nto false for new KeyValues structures."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:useEscapes","text":"Whether or not to read escape sequences."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"bool","name":"useEscapes","decl":"bool useEscapes","default":null}]},"KvGetSectionName":{"name":"KvGetSectionName","refLine":226,"docStart":6799,"docEnd":7077,"docs":{"brief":"Retrieves the current section name.","tags":[{"tag":"","text":"Retrieves the current section name."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:section","text":"Buffer to store the section name."},{"tag":"param:maxlength","text":"Maximum length of the name buffer."},{"tag":"return","text":"True on success, false on failure."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"char[]","name":"section","decl":"char[] section","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"KvSetColor":{"name":"KvSetColor","refLine":385,"docStart":15403,"docEnd":15694,"docs":{"brief":"Sets a set of color values of a KeyValues key.","tags":[{"tag":"","text":"Sets a set of color values of a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:r","text":"Red value."},{"tag":"param:g","text":"Green value."},{"tag":"param:b","text":"Blue value."},{"tag":"param:a","text":"Alpha value."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int","name":"r","decl":"int r","default":null},{"type":"int","name":"g","decl":"int g","default":null},{"type":"int","name":"b","decl":"int b","default":null},{"type":"int","name":"a","decl":"int a","default":"0"}]},"KvGotoNextKey":{"name":"KvGotoNextKey","refLine":198,"docStart":5973,"docEnd":6400,"docs":{"brief":"Sets the current position in the KeyValues tree to the next sub key.\nThis native does NOT add to the internal traversal stack, and thus\nKvGoBack() is not needed for each successive call to this function.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the next sub key.\nThis native does NOT add to the internal traversal stack, and thus\nKvGoBack() is not needed for each successive call to this function."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:keyOnly","text":"If false, non-keys will be traversed (values)."},{"tag":"return","text":"True on success, false if there was no next sub key."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"34934677718051aec37377fdab1ddf9fe7cfd95a","count":754,"time":1178506738},"last_updated":{"hash":"34934677718051aec37377fdab1ddf9fe7cfd95a","count":754,"time":1178506738}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"bool","name":"keyOnly","decl":"bool keyOnly","default":"true"}]},"KvGetString":{"name":"KvGetString","refLine":407,"docStart":16063,"docEnd":16424,"docs":{"brief":"Retrieves a string value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a string value from a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Buffer to store key value in."},{"tag":"param:maxlength","text":"Maximum length of the value buffer."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"char[]","name":"value","decl":"char[] value","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"defvalue","decl":"const char[] defvalue","default":"\"\""}]},"KvSetUint64":{"name":"KvSetUint64","refLine":79,"docStart":2183,"docEnd":2424,"docs":{"brief":"Sets a large integer value of a KeyValues key.","tags":[{"tag":"","text":"Sets a large integer value of a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key."},{"tag":"param:value","text":"Large integer value (0=High bits, 1=Low bits)"},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const int[2]","name":"value","decl":"const int value[2]","default":null}]},"KvSetSectionName":{"name":"KvSetSectionName","refLine":585,"docStart":22603,"docEnd":22749,"docs":{"brief":"Sets the current section name.","tags":[{"tag":"","text":"Sets the current section name."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:section","text":"Section name."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"section","decl":"const char[] section","default":null}]},"KeyValuesToFile":{"name":"KeyValuesToFile","refLine":257,"docStart":7630,"docEnd":7888,"docs":{"brief":"Converts a KeyValues tree to a file. The tree is dumped\nfrom the current position.","tags":[{"tag":"","text":"Converts a KeyValues tree to a file. The tree is dumped\nfrom the current position."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:file","text":"File to dump write to."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"file","decl":"const char[] file","default":null}]},"StringToKeyValues":{"name":"StringToKeyValues","refLine":373,"docStart":12146,"docEnd":12537,"docs":{"brief":"Converts a given string to a KeyValues tree. The string is read into\nthe current postion of the tree.","tags":[{"tag":"","text":"Converts a given string to a KeyValues tree. The string is read into\nthe current postion of the tree."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:buffer","text":"String buffer to load into the KeyValues."},{"tag":"param:resourceName","text":"The resource name of the KeyValues, used for error tracking purposes."},{"tag":"return","text":"True on success, false otherwise."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"878a82a6e5b7f1c5233e75069fa888fd6a26ef54","count":4587,"time":1404493478},"last_updated":{"hash":"878a82a6e5b7f1c5233e75069fa888fd6a26ef54","count":4587,"time":1404493478}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"kv","decl":"Handle kv","default":null},{"type":"const char[]","name":"buffer","decl":"const char[] buffer","default":null},{"type":"const char[]","name":"resourceName","decl":"const char[] resourceName","default":"\"StringToKeyValues\""}]}},"methodmaps":{"KeyValues":{"name":"KeyValues","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"f020b5682ecc0de51a2370f1b82dde3c2363f539","count":4982,"time":1415490880},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"parent":"Handle","methods":{"ImportFromString":{"name":"ImportFromString","refLine":96,"docStart":3573,"docEnd":3913,"docs":{"brief":"Converts a given string to a KeyValues tree. The string is read into\nthe current postion of the tree.","tags":[{"tag":"","text":"Converts a given string to a KeyValues tree. The string is read into\nthe current postion of the tree."},{"tag":"param:buffer","text":"String buffer to load into the KeyValues."},{"tag":"param:resourceName","text":"The resource name of the KeyValues, used for error tracking purposes."},{"tag":"return","text":"True on success, false otherwise."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"buffer","decl":"const char[] buffer","default":null},{"type":"const char[]","name":"resourceName","decl":"const char[] resourceName","default":"\"StringToKeyValues\""}]},"Import":{"name":"Import","refLine":103,"docStart":4025,"docEnd":4289,"docs":{"brief":"Imports subkeys in the given KeyValues, at the current position in that\nKeyValues, into the current position in this KeyValues. Note that this\ncopies keys; it does not embed a reference to them.","tags":[{"tag":"","text":"Imports subkeys in the given KeyValues, at the current position in that\nKeyValues, into the current position in this KeyValues. Note that this\ncopies keys; it does not embed a reference to them."},{"tag":"param:other","text":"Origin KeyValues Handle."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"KeyValues","name":"other","decl":"KeyValues other","default":null}]},"SetSectionName":{"name":"SetSectionName","refLine":291,"docStart":12461,"docEnd":12540,"docs":{"brief":"Sets the current section name.","tags":[{"tag":"","text":"Sets the current section name."},{"tag":"param:section","text":"Section name."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"section","decl":"const char[] section","default":null}]},"SetNum":{"name":"SetNum","refLine":116,"docStart":4605,"docEnd":4753,"docs":{"brief":"Sets an integer value of a KeyValues key.","tags":[{"tag":"","text":"Sets an integer value of a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Value number."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int","name":"value","decl":"int value","default":null}]},"KeyValues":{"name":"KeyValues","refLine":63,"docStart":2177,"docEnd":2490,"docs":{"brief":"Creates a new KeyValues structure. The Handle must be closed with\nCloseHandle() or delete.","tags":[{"tag":"","text":"Creates a new KeyValues structure. The Handle must be closed with\nCloseHandle() or delete."},{"tag":"param:name","text":"Name of the root section."},{"tag":"param:firstKey","text":"If non-empty, specifies the first key value."},{"tag":"param:firstValue","text":"If firstKey is non-empty, specifies the first key's value."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"KeyValues","arguments":[{"type":"const char[]","name":"name","decl":"const char[] name","default":null},{"type":"const char[]","name":"firstKey","decl":"const char[] firstKey","default":"\"\""},{"type":"const char[]","name":"firstValue","decl":"const char[] firstValue","default":"\"\""}]},"Rewind":{"name":"Rewind","refLine":279,"docStart":11891,"docEnd":12126,"docs":{"brief":"Sets the position back to the top node, emptying the entire node\ntraversal history. This can be used instead of looping KvGoBack()\nif recursive iteration is not important.","tags":[{"tag":"","text":"Sets the position back to the top node, emptying the entire node\ntraversal history. This can be used instead of looping KvGoBack()\nif recursive iteration is not important."},{"tag":"param:kv","text":"KeyValues Handle."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[]},"DeleteKey":{"name":"DeleteKey","refLine":258,"docStart":10875,"docEnd":11045,"docs":{"brief":"Removes the given key from the current position.","tags":[{"tag":"","text":"Removes the given key from the current position."},{"tag":"param:key","text":"Name of the key."},{"tag":"return","text":"True on success, false if key did not exist."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null}]},"GetVector":{"name":"GetVector","refLine":209,"docStart":8428,"docEnd":8690,"docs":{"brief":"Retrieves a vector value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a vector value from a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:vec","text":"Destination vector to store the value in."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"float[3]","name":"vec","decl":"float vec[3]","default":null},{"type":"const float[3]","name":"defvalue","decl":"const float defvalue[3]","default":"{ 0.000000, 0.000000, 0.000000 }"}]},"SetVector":{"name":"SetVector","refLine":151,"docStart":5967,"docEnd":6114,"docs":{"brief":"Sets a vector value of a KeyValues key.","tags":[{"tag":"","text":"Sets a vector value of a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:vec","text":"Vector value."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const float[3]","name":"vec","decl":"const float vec[3]","default":null}]},"SetEscapeSequences":{"name":"SetEscapeSequences","refLine":304,"docStart":12798,"docEnd":13058,"docs":{"brief":"Sets whether or not the KeyValues parser will read escape sequences.\nFor example, \\n would be read as a literal newline. This defaults\nto false for new KeyValues structures.","tags":[{"tag":"","text":"Sets whether or not the KeyValues parser will read escape sequences.\nFor example, \\n would be read as a literal newline. This defaults\nto false for new KeyValues structures."},{"tag":"param:useEscapes","text":"Whether or not to read escape sequences."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"bool","name":"useEscapes","decl":"bool useEscapes","default":null}]},"GoBack":{"name":"GoBack","refLine":252,"docStart":10470,"docEnd":10839,"docs":{"brief":"Jumps back to the previous position. Returns false if there are no\nprevious positions (i.e., at the root node). This should be called\nonce for each successful Jump call, in order to return to the top node.\nThis function pops one node off the internal traversal stack.","tags":[{"tag":"","text":"Jumps back to the previous position. Returns false if there are no\nprevious positions (i.e., at the root node). This should be called\nonce for each successful Jump call, in order to return to the top node.\nThis function pops one node off the internal traversal stack."},{"tag":"return","text":"True on success, false if there is no higher node."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[]},"GetColor4":{"name":"GetColor4","refLine":188,"docStart":7698,"docEnd":7882,"docs":{"brief":"Retrieves a set of color values from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a set of color values from a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:color","text":"Red, green, blue, and alpha channels."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int[4]","name":"color","decl":"int color[4]","default":null}]},"SetColor":{"name":"SetColor","refLine":137,"docStart":5305,"docEnd":5571,"docs":{"brief":"Sets a set of color values of a KeyValues key.","tags":[{"tag":"","text":"Sets a set of color values of a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:r","text":"Red value."},{"tag":"param:g","text":"Green value."},{"tag":"param:b","text":"Blue value."},{"tag":"param:a","text":"Alpha value."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int","name":"r","decl":"int r","default":null},{"type":"int","name":"g","decl":"int g","default":null},{"type":"int","name":"b","decl":"int b","default":null},{"type":"int","name":"a","decl":"int a","default":"0"}]},"SetFloat":{"name":"SetFloat","refLine":128,"docStart":5076,"docEnd":5238,"docs":{"brief":"Sets a floating point value of a KeyValues key.","tags":[{"tag":"","text":"Sets a floating point value of a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Floating point value."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"float","name":"value","decl":"float value","default":null}]},"GetDataType":{"name":"GetDataType","refLine":297,"docStart":12604,"docEnd":12734,"docs":{"brief":"Returns the data type at a key.","tags":[{"tag":"","text":"Returns the data type at a key."},{"tag":"param:key","text":"Key name."},{"tag":"return","text":"KvDataType value of the key."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"KvDataTypes","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null}]},"JumpToKey":{"name":"JumpToKey","refLine":216,"docStart":8800,"docEnd":9091,"docs":{"brief":"Sets the current position in the KeyValues tree to the given key.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the given key."},{"tag":"param:key","text":"Name of the key."},{"tag":"param:create","text":"If true, and the key does not exist, it will be created."},{"tag":"return","text":"True if the key exists, false if it does not and was not created."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"bool","name":"create","decl":"bool create","default":"false"}]},"SetUInt64":{"name":"SetUInt64","refLine":122,"docStart":4816,"docEnd":5001,"docs":{"brief":"Sets a large integer value of a KeyValues key.","tags":[{"tag":"","text":"Sets a large integer value of a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Large integer value (0=High bits, 1=Low bits)"}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const int[2]","name":"value","decl":"const int value[2]","default":null}]},"GetSectionSymbol":{"name":"GetSectionSymbol","refLine":333,"docStart":14011,"docEnd":14211,"docs":{"brief":"Retrieves the current section id.","tags":[{"tag":"","text":"Retrieves the current section id."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:id","text":"Id of the current section."},{"tag":"return","text":"True on success, false on failure."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"int&","name":"id","decl":"int& id","default":null}]},"DeleteThis":{"name":"DeleteThis","refLine":272,"docStart":11100,"docEnd":11852,"docs":{"brief":"Removes the current sub-key and attempts to set the position\nto the sub-key after the removed one. If no such sub-key exists,\nthe position will be the parent key in the traversal stack.\nGiven the sub-key having position \"N\" in the traversal stack, the\nremoval will always take place from position \"N-1.\"","tags":[{"tag":"","text":"Removes the current sub-key and attempts to set the position\nto the sub-key after the removed one. If no such sub-key exists,\nthe position will be the parent key in the traversal stack.\nGiven the sub-key having position \"N\" in the traversal stack, the\nremoval will always take place from position \"N-1.\""},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"return","text":"1 if removal succeeded and there was another key.\n0 if the current node was not contained in the\nprevious node, or no previous node exists.\n-1 if removal succeeded and there were no more keys,\nthus the state is as if KvGoBack() was called."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"int","arguments":[]},"ExportToString":{"name":"ExportToString","refLine":76,"docStart":2852,"docEnd":3109,"docs":{"brief":"Exports a KeyValues tree to a string. The string is dumped from the current position.","tags":[{"tag":"","text":"Exports a KeyValues tree to a string. The string is dumped from the current position."},{"tag":"param:buffer","text":"Buffer to write to."},{"tag":"param:maxlength","text":"Max length of buffer."},{"tag":"return","text":"Number of bytes that can be written to buffer."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"int","arguments":[{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SavePosition":{"name":"SavePosition","refLine":244,"docStart":10178,"docEnd":10428,"docs":{"brief":"Saves the current position in the traversal stack onto the traversal\nstack. This can be useful if you wish to use KvGotoNextKey() and\nhave the previous key saved for backwards traversal.","tags":[{"tag":"","text":"Saves the current position in the traversal stack onto the traversal\nstack. This can be useful if you wish to use KvGotoNextKey() and\nhave the previous key saved for backwards traversal."},{"tag":"param:kv","text":"KeyValues Handle."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[]},"GetUInt64":{"name":"GetUInt64","refLine":202,"docStart":8071,"docEnd":8336,"docs":{"brief":"Retrieves a large integer value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a large integer value from a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Array to represent the large integer."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int[2]","name":"value","decl":"int value[2]","default":null},{"type":"int[2]","name":"defvalue","decl":"int defvalue[2]","default":"{ 0, 0 }"}]},"GetString":{"name":"GetString","refLine":159,"docStart":6189,"docEnd":6502,"docs":{"brief":"Retrieves a string value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a string value from a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"Buffer to store key value in."},{"tag":"param:maxlength","text":"Maximum length of the value buffer."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"char[]","name":"value","decl":"char[] value","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null},{"type":"const char[]","name":"defvalue","decl":"const char[] defvalue","default":"\"\""}]},"FindKeyById":{"name":"FindKeyById","refLine":319,"docStart":13402,"docEnd":13659,"docs":{"brief":"Finds a KeyValues name by id.","tags":[{"tag":"","text":"Finds a KeyValues name by id."},{"tag":"param:id","text":"KeyValues id."},{"tag":"param:name","text":"Buffer to store the name."},{"tag":"param:maxlength","text":"Maximum length of the value buffer."},{"tag":"return","text":"True on success, false if id not found."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"id","decl":"int id","default":null},{"type":"char[]","name":"name","decl":"char[] name","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"GetFloat":{"name":"GetFloat","refLine":173,"docStart":6928,"docEnd":7189,"docs":{"brief":"Retrieves a floating point value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a floating point value from a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."},{"tag":"return","text":"Floating point value of the key."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"float","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"float","name":"defvalue","decl":"float defvalue","default":"0.000000"}]},"ExportToFile":{"name":"ExportToFile","refLine":69,"docStart":2595,"docEnd":2793,"docs":{"brief":"Exports a KeyValues tree to a file. The tree is dumped from the current position.","tags":[{"tag":"","text":"Exports a KeyValues tree to a file. The tree is dumped from the current position."},{"tag":"param:file","text":"File to dump write to."},{"tag":"return","text":"True on success, false otherwise."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"file","decl":"const char[] file","default":null}]},"ImportFromFile":{"name":"ImportFromFile","refLine":88,"docStart":3303,"docEnd":3512,"docs":{"brief":"Imports a file in KeyValues format. The file is read into the current\nposition of the tree.","tags":[{"tag":"","text":"Imports a file in KeyValues format. The file is read into the current\nposition of the tree."},{"tag":"param:file","text":"File to read from."},{"tag":"return","text":"True on success, false otherwise."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"file","decl":"const char[] file","default":null}]},"NodesInStack":{"name":"NodesInStack","refLine":311,"docStart":13121,"docEnd":13361,"docs":{"brief":"Returns the position in the jump stack; I.e. the number of calls\nrequired for KvGoBack to return to the root node. If at the root node,\n0 is returned.","tags":[{"tag":"","text":"Returns the position in the jump stack; I.e. the number of calls\nrequired for KvGoBack to return to the root node. If at the root node,\n0 is returned."},{"tag":"return","text":"Number of non-root nodes in the jump stack."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"int","arguments":[]},"GetNum":{"name":"GetNum","refLine":166,"docStart":6612,"docEnd":6861,"docs":{"brief":"Retrieves an integer value from a KeyValues key.","tags":[{"tag":"","text":"Retrieves an integer value from a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:defvalue","text":"Optional default value to use if the key is not found."},{"tag":"return","text":"Integer value of the key."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int","name":"defvalue","decl":"int defvalue","default":"0"}]},"JumpToKeySymbol":{"name":"JumpToKeySymbol","refLine":222,"docStart":9165,"docEnd":9350,"docs":{"brief":"Sets the current position in the KeyValues tree to the given key.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the given key."},{"tag":"param:id","text":"KeyValues id."},{"tag":"return","text":"True if the key exists, false if it does not."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"id","decl":"int id","default":null}]},"GetNameSymbol":{"name":"GetNameSymbol","refLine":326,"docStart":13734,"docEnd":13943,"docs":{"brief":"Finds a KeyValues id inside a KeyValues tree.","tags":[{"tag":"","text":"Finds a KeyValues id inside a KeyValues tree."},{"tag":"param:key","text":"Key name."},{"tag":"param:id","text":"Id of the found KeyValue."},{"tag":"return","text":"True on success, false if key not found."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int&","name":"id","decl":"int& id","default":null}]},"GotoFirstSubKey":{"name":"GotoFirstSubKey","refLine":229,"docStart":9401,"docEnd":9686,"docs":{"brief":"Sets the current position in the KeyValues tree to the first sub key.\nThis native adds to the internal traversal stack.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the first sub key.\nThis native adds to the internal traversal stack."},{"tag":"param:keyOnly","text":"If false, non-keys will be traversed (values)."},{"tag":"return","text":"True on success, false if there was no first sub key."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"bool","name":"keyOnly","decl":"bool keyOnly","default":"true"}]},"SetString":{"name":"SetString","refLine":110,"docStart":4340,"docEnd":4530,"docs":{"brief":"Sets a string value of a KeyValues key.","tags":[{"tag":"","text":"Sets a string value of a KeyValues key."},{"tag":"param:kv","text":"KeyValues Handle."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:value","text":"String value."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null}]},"GetColor":{"name":"GetColor","refLine":182,"docStart":7264,"docEnd":7612,"docs":{"brief":"Retrieves a set of color values from a KeyValues key.","tags":[{"tag":"","text":"Retrieves a set of color values from a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:r","text":"Red value, set by reference."},{"tag":"param:g","text":"Green value, set by reference."},{"tag":"param:b","text":"Blue value, set by reference."},{"tag":"param:a","text":"Alpha value, set by reference."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"int&","name":"r","decl":"int& r","default":null},{"type":"int&","name":"g","decl":"int& g","default":null},{"type":"int&","name":"b","decl":"int& b","default":null},{"type":"int&","name":"a","decl":"int& a","default":null}]},"GotoNextKey":{"name":"GotoNextKey","refLine":237,"docStart":9748,"docEnd":10120,"docs":{"brief":"Sets the current position in the KeyValues tree to the next sub key.\nThis native does NOT add to the internal traversal stack, and thus\nGoBack() is not needed for each successive call to this function.","tags":[{"tag":"","text":"Sets the current position in the KeyValues tree to the next sub key.\nThis native does NOT add to the internal traversal stack, and thus\nGoBack() is not needed for each successive call to this function."},{"tag":"param:keyOnly","text":"If false, non-keys will be traversed (values)."},{"tag":"return","text":"True on success, false if there was no next sub key."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"bool","name":"keyOnly","decl":"bool keyOnly","default":"true"}]},"GetSectionName":{"name":"GetSectionName","refLine":286,"docStart":12162,"docEnd":12388,"docs":{"brief":"Retrieves the current section name.","tags":[{"tag":"","text":"Retrieves the current section name."},{"tag":"param:section","text":"Buffer to store the section name."},{"tag":"param:maxlength","text":"Maximum length of the name buffer."},{"tag":"return","text":"True on success, false on failure."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"native","returnType":"bool","arguments":[{"type":"char[]","name":"section","decl":"char[] section","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"SetColor4":{"name":"SetColor4","refLine":143,"docStart":5655,"docEnd":5831,"docs":{"brief":"Sets a set of color values of a KeyValues key.","tags":[{"tag":"","text":"Sets a set of color values of a KeyValues key."},{"tag":"param:key","text":"Name of the key, or NULL_STRING."},{"tag":"param:color","text":"Red, green, blue and alpha channels."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"kind":"stock","returnType":"void","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const int[4]","name":"color","decl":"const int color[4]","default":null}]}},"properties":{"ExportLength":{"name":"ExportLength","refLine":79,"docStart":3180,"docEnd":3240,"docs":{"brief":"Amount of bytes written by ExportToFile & ExportToString.","tags":[{"tag":"","text":"Amount of bytes written by ExportToFile & ExportToString."}]},"metadata":{"created":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220},"last_updated":{"hash":"404e96ad456531e9029f3b02b243a5284efd9691","count":6201,"time":1509191220}},"type":"int","getter":true,"setter":false}}}},"enumstructs":{},"constants":{},"defines":{"_keyvalues_included":{"name":"_keyvalues_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":""}},"enums":{"KvDataTypes":{"name":"KvDataTypes","refLine":24,"docStart":717,"docEnd":755,"docs":{"brief":"KeyValue data value types","tags":[{"tag":"","text":"KeyValue data value types"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"entries":{"KvData_Float":{"name":"KvData_Float","refLine":29,"docStart":939,"docEnd":967,"docs":{"brief":"Floating point value","tags":[{"tag":"","text":"Floating point value"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":null},"KvData_Int":{"name":"KvData_Int","refLine":28,"docStart":900,"docEnd":921,"docs":{"brief":"Integer value","tags":[{"tag":"","text":"Integer value"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":null},"KvData_String":{"name":"KvData_String","refLine":27,"docStart":863,"docEnd":883,"docs":{"brief":"String value","tags":[{"tag":"","text":"String value"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":null},"KvData_WString":{"name":"KvData_WString","refLine":31,"docStart":1051,"docEnd":1076,"docs":{"brief":"Wide string value","tags":[{"tag":"","text":"Wide string value"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":null},"KvData_Color":{"name":"KvData_Color","refLine":32,"docStart":1094,"docEnd":1113,"docs":{"brief":"Color value","tags":[{"tag":"","text":"Color value"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":null},"KvData_NUMTYPES":{"name":"KvData_NUMTYPES","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":null},"KvData_UInt64":{"name":"KvData_UInt64","refLine":33,"docStart":1132,"docEnd":1171,"docs":{"brief":"Large integer value\n---","tags":[{"tag":"","text":"Large integer value"},{"tag":"","text":"---"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":null},"KvData_None":{"name":"KvData_None","refLine":26,"docStart":796,"docEnd":844,"docs":{"brief":"Type could not be identified, or no type","tags":[{"tag":"","text":"Type could not be identified, or no type"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":"0"},"KvData_Ptr":{"name":"KvData_Ptr","refLine":30,"docStart":984,"docEnd":1031,"docs":{"brief":"Pointer value (sometimes called \"long\")","tags":[{"tag":"","text":"Pointer value (sometimes called \"long\")"}]},"metadata":{"created":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043},"last_updated":{"hash":"08ec195e27c2044d5fead6bdf9f7bc253f4247a9","count":655,"time":1174854043}},"value":null}}}},"typesets":{},"typedefs":{}},"lang":{"functions":{"TranslationPhraseExists":{"name":"TranslationPhraseExists","refLine":125,"docStart":3979,"docEnd":4155,"docs":{"brief":"Determines if the specified phrase exists within the plugin's\ntranslation cache.","tags":[{"tag":"","text":"Determines if the specified phrase exists within the plugin's\ntranslation cache."},{"tag":"param:phrase","text":"Phrase to look for."},{"tag":"return","text":"True if phrase exists."}]},"metadata":{"created":{"hash":"d685f30847e861cb855633229286876a4ac2f00b","count":6208,"time":1511241841},"last_updated":{"hash":"d685f30847e861cb855633229286876a4ac2f00b","count":6208,"time":1511241841}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"phrase","decl":"const char[] phrase","default":null}]},"GetLanguageCount":{"name":"GetLanguageCount","refLine":65,"docStart":1814,"docEnd":1916,"docs":{"brief":"Returns the number of languages known in languages.cfg.","tags":[{"tag":"","text":"Returns the number of languages known in languages.cfg."},{"tag":"return","text":"Language count."}]},"metadata":{"created":{"hash":"9c531423fb61364049c8c9b1ef3089f755a9d66c","count":1106,"time":1184375055},"last_updated":{"hash":"9c531423fb61364049c8c9b1ef3089f755a9d66c","count":1106,"time":1184375055}},"kind":"native","returnType":"int","arguments":[]},"LoadTranslations":{"name":"LoadTranslations","refLine":46,"docStart":1707,"docEnd":1870,"docs":{"brief":"Loads a translation file for the plugin calling this native.\nIf no extension is specified, .txt is assumed.","tags":[{"tag":"","text":"Loads a translation file for the plugin calling this native.\nIf no extension is specified, .txt is assumed."},{"tag":"param:file","text":"Translation file."}]},"metadata":{"created":{"hash":"aa8bf86dc15c2b841ebdf31572058f0dadcc6dc7","count":390,"time":1169868334},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"const char[]","name":"file","decl":"const char[] file","default":null}]},"GetClientLanguage":{"name":"GetClientLanguage","refLine":51,"docStart":1384,"docEnd":1640,"docs":{"brief":"Retrieves the language number of a client.\nCurrently this simply returns the server language index.","tags":[{"tag":"","text":"Retrieves the language number of a client.\nCurrently this simply returns the server language index."},{"tag":"param:client","text":"Client index."},{"tag":"return","text":"Language number client is using."},{"tag":"error","text":"Invalid client index or client not in game."}]},"metadata":{"created":{"hash":"9c531423fb61364049c8c9b1ef3089f755a9d66c","count":1106,"time":1184375055},"last_updated":{"hash":"9c531423fb61364049c8c9b1ef3089f755a9d66c","count":1106,"time":1184375055}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"GetServerLanguage":{"name":"GetServerLanguage","refLine":58,"docStart":1679,"docEnd":1775,"docs":{"brief":"Retrieves the server's language.","tags":[{"tag":"","text":"Retrieves the server's language."},{"tag":"return","text":"Language number server is using."}]},"metadata":{"created":{"hash":"9c531423fb61364049c8c9b1ef3089f755a9d66c","count":1106,"time":1184375055},"last_updated":{"hash":"716233ec30c2bfa29517efaeeb0c63128bac60d4","count":1127,"time":1184559900}},"kind":"native","returnType":"int","arguments":[]},"GetLanguageByCode":{"name":"GetLanguageByCode","refLine":113,"docStart":3590,"docEnd":3763,"docs":{"brief":"Retrieves the language number from a language code.","tags":[{"tag":"","text":"Retrieves the language number from a language code."},{"tag":"param:code","text":"Language code (2-3 characters usually)."},{"tag":"return","text":"Language number. -1 if not found."}]},"metadata":{"created":{"hash":"ca75d0d7651ad9697e47dca0efb15e1f2b0c8fec","count":3209,"time":1299591501},"last_updated":{"hash":"ca75d0d7651ad9697e47dca0efb15e1f2b0c8fec","count":3209,"time":1299591501}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"code","decl":"const char[] code","default":null}]},"SetGlobalTransTarget":{"name":"SetGlobalTransTarget","refLine":56,"docStart":1924,"docEnd":2245,"docs":{"brief":"Sets the global language target. This is useful for creating functions\nthat will be compatible with the %t format specifier. Note that invalid\nindexes can be specified but the error will occur during translation,\nnot during this function call.","tags":[{"tag":"","text":"Sets the global language target. This is useful for creating functions\nthat will be compatible with the %t format specifier. Note that invalid\nindexes can be specified but the error will occur during translation,\nnot during this function call."},{"tag":"param:client","text":"Client index or LANG_SERVER."}]},"metadata":{"created":{"hash":"cb77ef5b7d731d36a5d9ebabf1200f300550d387","count":1035,"time":1183493800},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null}]},"GetLanguageByName":{"name":"GetLanguageByName","refLine":121,"docStart":3815,"docEnd":3982,"docs":{"brief":"Retrieves the language number from a language name.","tags":[{"tag":"","text":"Retrieves the language number from a language name."},{"tag":"param:name","text":"Language name (case insensitive)."},{"tag":"return","text":"Language number. -1 if not found."}]},"metadata":{"created":{"hash":"ca75d0d7651ad9697e47dca0efb15e1f2b0c8fec","count":3209,"time":1299591501},"last_updated":{"hash":"ca75d0d7651ad9697e47dca0efb15e1f2b0c8fec","count":3209,"time":1299591501}},"kind":"native","returnType":"int","arguments":[{"type":"const char[]","name":"name","decl":"const char[] name","default":null}]},"GetLanguageInfo":{"name":"GetLanguageInfo","refLine":91,"docStart":2811,"docEnd":3177,"docs":{"brief":"Retrieves info about a given language number.","tags":[{"tag":"","text":"Retrieves info about a given language number."},{"tag":"param:language","text":"Language number."},{"tag":"param:code","text":"Language code buffer (2-3 characters usually)."},{"tag":"param:codeLen","text":"Maximum length of the language code buffer."},{"tag":"param:name","text":"Language name buffer."},{"tag":"param:nameLen","text":"Maximum length of the language name buffer."},{"tag":"error","text":"Invalid language number."}]},"metadata":{"created":{"hash":"9c531423fb61364049c8c9b1ef3089f755a9d66c","count":1106,"time":1184375055},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"language","decl":"int language","default":null},{"type":"char[]","name":"code","decl":"char[] code","default":"\"\""},{"type":"int","name":"codeLen","decl":"int codeLen","default":"0"},{"type":"char[]","name":"name","decl":"char[] name","default":"\"\""},{"type":"int","name":"nameLen","decl":"int nameLen","default":"0"}]},"SetClientLanguage":{"name":"SetClientLanguage","refLine":100,"docStart":3287,"docEnd":3469,"docs":{"brief":"Sets the language number of a client.","tags":[{"tag":"","text":"Sets the language number of a client."},{"tag":"param:client","text":"Client index."},{"tag":"param:language","text":"Language number."},{"tag":"error","text":"Invalid client index or client not connected."}]},"metadata":{"created":{"hash":"ca75d0d7651ad9697e47dca0efb15e1f2b0c8fec","count":3209,"time":1299591501},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"language","decl":"int language","default":null}]},"IsTranslatedForLanguage":{"name":"IsTranslatedForLanguage","refLine":134,"docStart":4218,"docEnd":4415,"docs":{"brief":"Determines if a there is a translation for the speicifed language.","tags":[{"tag":"","text":"Determines if a there is a translation for the speicifed language."},{"tag":"param:phrase","text":"Phrase to check."},{"tag":"param:language","text":"Language number."},{"tag":"return","text":"True if translation exists."}]},"metadata":{"created":{"hash":"d685f30847e861cb855633229286876a4ac2f00b","count":6208,"time":1511241841},"last_updated":{"hash":"d685f30847e861cb855633229286876a4ac2f00b","count":6208,"time":1511241841}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"phrase","decl":"const char[] phrase","default":null},{"type":"int","name":"language","decl":"int language","default":null}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"LANG_SERVER":{"name":"LANG_SERVER","refLine":21,"docStart":730,"docEnd":775,"docs":{"brief":"Translate using the server's language","tags":[{"tag":"","text":"Translate using the server's language"}]},"metadata":{"created":{"hash":"c7f1f04246f77743a6b0cb8c93cc8e1385879a27","count":673,"time":1175770942},"last_updated":{"hash":"c7f1f04246f77743a6b0cb8c93cc8e1385879a27","count":673,"time":1175770942}},"value":"0"},"_lang_included":{"name":"_lang_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"aa8bf86dc15c2b841ebdf31572058f0dadcc6dc7","count":390,"time":1169868334},"last_updated":{"hash":"aa8bf86dc15c2b841ebdf31572058f0dadcc6dc7","count":390,"time":1169868334}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"banning":{"functions":{"OnBanClient":{"name":"OnBanClient","refLine":57,"docStart":1947,"docEnd":2596,"docs":{"brief":"Called for calls to BanClient() with a non-empty command.","tags":[{"tag":"","text":"Called for calls to BanClient() with a non-empty command."},{"tag":"param:client","text":"Client being banned."},{"tag":"param:time","text":"Time the client is being banned for (0 = permanent)."},{"tag":"param:flags","text":"One if AUTHID or IP will be enabled. If AUTO is also\nenabled, it means Core autodetected which to use."},{"tag":"param:reason","text":"Reason passed via BanClient()."},{"tag":"param:kick_message","text":"Kick message passed via BanClient()."},{"tag":"param:command","text":"Command string to identify the ban source."},{"tag":"param:source","text":"Source value passed via BanClient()."},{"tag":"return","text":"Plugin_Handled to block the actual server banning.\nKicking will still occur."}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"b38f0cc02e8c91385972acff7f8f30613af47ed3","count":1451,"time":1190386578}},"kind":"forward","returnType":"Action","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"time","decl":"int time","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"const char[]","name":"reason","decl":"const char[] reason","default":null},{"type":"const char[]","name":"kick_message","decl":"const char[] kick_message","default":null},{"type":"const char[]","name":"command","decl":"const char[] command","default":null},{"type":"any","name":"source","decl":"any source","default":null}]},"BanClient":{"name":"BanClient","refLine":113,"docStart":3775,"docEnd":4579,"docs":{"brief":"Bans a client.","tags":[{"tag":"","text":"Bans a client."},{"tag":"param:client","text":"Client being banned."},{"tag":"param:time","text":"Time (in minutes) to ban (0 = permanent)."},{"tag":"param:flags","text":"Flags for controlling the ban mechanism. If AUTHID\nis set and no AUTHID is available, the ban will fail\nunless AUTO is also flagged."},{"tag":"param:reason","text":"Reason to ban the client for."},{"tag":"param:kick_message","text":"Message to display to the user when kicking."},{"tag":"param:command","text":"Command string to identify the source. If this is left\nempty, then the OnBanClient forward will not be called."},{"tag":"param:source","text":"A source value that could be interpreted as a player\nindex of any sort (not actually checked by Core)."},{"tag":"return","text":"True on success, false on failure."},{"tag":"error","text":"Invalid client index or client not in game."}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"client","decl":"int client","default":null},{"type":"int","name":"time","decl":"int time","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"const char[]","name":"reason","decl":"const char[] reason","default":null},{"type":"const char[]","name":"kick_message","decl":"const char[] kick_message","default":"\"\""},{"type":"const char[]","name":"command","decl":"const char[] command","default":"\"\""},{"type":"any","name":"source","decl":"any source","default":"0"}]},"RemoveBan":{"name":"RemoveBan","refLine":152,"docStart":5556,"docEnd":6085,"docs":{"brief":"Removes a ban that was written to the server (either in memory or on disk).","tags":[{"tag":"","text":"Removes a ban that was written to the server (either in memory or on disk)."},{"tag":"param:identity","text":"String to unban (ip or authstring)."},{"tag":"param:flags","text":"Flags (only IP and AUTHID are valid flags here)."},{"tag":"param:command","text":"Command strnig to identify the source. If this is left\nempty, then OnRemoveBan will not be called."},{"tag":"param:source","text":"A source value that could be interpreted as a player\nindex of any sort (not actually checked by Core)."},{"tag":"return","text":"True on success, false on failure."}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"identity","decl":"const char[] identity","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"const char[]","name":"command","decl":"const char[] command","default":"\"\""},{"type":"any","name":"source","decl":"any source","default":"0"}]},"OnRemoveBan":{"name":"OnRemoveBan","refLine":92,"docStart":3500,"docEnd":3896,"docs":{"brief":"Called for calls to RemoveBan() with a non-empty command.","tags":[{"tag":"","text":"Called for calls to RemoveBan() with a non-empty command."},{"tag":"param:identity","text":"Identity string being banned (authstring or ip)."},{"tag":"param:flags","text":"Ban flags (only IP or AUTHID are valid here)."},{"tag":"param:command","text":"Command string to identify the ban source."},{"tag":"param:source","text":"Source value passed via BanIdentity()."},{"tag":"return","text":"Plugin_Handled to block the actual server banning."}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"b38f0cc02e8c91385972acff7f8f30613af47ed3","count":1451,"time":1190386578}},"kind":"forward","returnType":"Action","arguments":[{"type":"const char[]","name":"identity","decl":"const char[] identity","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"const char[]","name":"command","decl":"const char[] command","default":null},{"type":"any","name":"source","decl":"any source","default":null}]},"OnBanIdentity":{"name":"OnBanIdentity","refLine":76,"docStart":2802,"docEnd":3323,"docs":{"brief":"Called for calls to BanIdentity() with a non-empty command.","tags":[{"tag":"","text":"Called for calls to BanIdentity() with a non-empty command."},{"tag":"param:identity","text":"Identity string being banned (authstring or ip)."},{"tag":"param:time","text":"Time the client is being banned for (0 = permanent)."},{"tag":"param:flags","text":"Ban flags (only IP or AUTHID are valid here)."},{"tag":"param:reason","text":"Reason passed via BanIdentity()."},{"tag":"param:command","text":"Command string to identify the ban source."},{"tag":"param:source","text":"Source value passed via BanIdentity()."},{"tag":"return","text":"Plugin_Handled to block the actual server banning."}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"b38f0cc02e8c91385972acff7f8f30613af47ed3","count":1451,"time":1190386578}},"kind":"forward","returnType":"Action","arguments":[{"type":"const char[]","name":"identity","decl":"const char[] identity","default":null},{"type":"int","name":"time","decl":"int time","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"const char[]","name":"reason","decl":"const char[] reason","default":null},{"type":"const char[]","name":"command","decl":"const char[] command","default":null},{"type":"any","name":"source","decl":"any source","default":null}]},"BanIdentity":{"name":"BanIdentity","refLine":134,"docStart":4777,"docEnd":5386,"docs":{"brief":"Bans an identity (either an IP address or auth string).","tags":[{"tag":"","text":"Bans an identity (either an IP address or auth string)."},{"tag":"param:identity","text":"String to ban (ip or authstring)."},{"tag":"param:time","text":"Time to ban for (0 = permanent)."},{"tag":"param:flags","text":"Flags (only IP and AUTHID are valid flags here)."},{"tag":"param:reason","text":"Ban reason string."},{"tag":"param:command","text":"Command string to identify the source. If this is left\nempty, then the OnBanIdentity forward will not be called."},{"tag":"param:source","text":"A source value that could be interpreted as a player\nindex of any sort (not actually checked by Core)."},{"tag":"return","text":"True on success, false on failure."}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"identity","decl":"const char[] identity","default":null},{"type":"int","name":"time","decl":"int time","default":null},{"type":"int","name":"flags","decl":"int flags","default":null},{"type":"const char[]","name":"reason","decl":"const char[] reason","default":null},{"type":"const char[]","name":"command","decl":"const char[] command","default":"\"\""},{"type":"any","name":"source","decl":"any source","default":"0"}]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"BANFLAG_AUTHID":{"name":"BANFLAG_AUTHID","refLine":40,"docStart":1816,"docEnd":1878,"docs":{"brief":"Always ban by authstring (for BanIdentity) if possible","tags":[{"tag":"","text":"Always ban by authstring (for BanIdentity) if possible"}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870}},"value":"(1<<2)"},"BANFLAG_IP":{"name":"BANFLAG_IP","refLine":39,"docStart":1751,"docEnd":1783,"docs":{"brief":"Always ban by IP address","tags":[{"tag":"","text":"Always ban by IP address"}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870}},"value":"(1<<1)"},"BANFLAG_AUTO":{"name":"BANFLAG_AUTO","refLine":38,"docStart":1669,"docEnd":1721,"docs":{"brief":"Auto-detects whether to ban by steamid or IP","tags":[{"tag":"","text":"Auto-detects whether to ban by steamid or IP"}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870}},"value":"(1<<0)"},"BANFLAG_NOKICK":{"name":"BANFLAG_NOKICK","refLine":41,"docStart":1911,"docEnd":1943,"docs":{"brief":"Does not kick the client","tags":[{"tag":"","text":"Does not kick the client"}]},"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870}},"value":"(1<<3)"},"_banning_included":{"name":"_banning_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870},"last_updated":{"hash":"74b23aebfee6560d4075922e0a3584eca176f044","count":1424,"time":1189735870}},"value":""}},"enums":{},"typesets":{},"typedefs":{}},"timers":{"functions":{"GetMapTimeLimit":{"name":"GetMapTimeLimit","refLine":145,"docStart":5400,"docEnd":5796,"docs":{"brief":"Retrieves the current map time limit. If the server has not processed any\nframes yet (i.e. no players have joined the map yet), then the time limit\nreturned will always be 0.","tags":[{"tag":"","text":"Retrieves the current map time limit. If the server has not processed any\nframes yet (i.e. no players have joined the map yet), then the time limit\nreturned will always be 0."},{"tag":"param:time","text":"Set to the number of total seconds in the map time\nlimit, or 0 if there is no time limit set."},{"tag":"return","text":"True on success, false if operation is not supported."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"bool","arguments":[{"type":"int&","name":"time","decl":"int& time","default":null}]},"GetMapTimeLeft":{"name":"GetMapTimeLeft","refLine":134,"docStart":4928,"docEnd":5356,"docs":{"brief":"Returns an estimate of the time left before the map ends. If the server\nhas not processed any frames yet (i.e. no players have joined the map yet),\nthen the time left returned will always be infinite.","tags":[{"tag":"","text":"Returns an estimate of the time left before the map ends. If the server\nhas not processed any frames yet (i.e. no players have joined the map yet),\nthen the time left returned will always be infinite."},{"tag":"param:timeleft","text":"Variable to store the time, in seconds. If the\nvalue is less than 0, the time limit is infinite."},{"tag":"return","text":"True if the operation is supported, false otherwise."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"bool","arguments":[{"type":"int&","name":"timeleft","decl":"int& timeleft","default":null}]},"IsServerProcessing":{"name":"IsServerProcessing","refLine":191,"docStart":7106,"docEnd":7450,"docs":{"brief":"Returns whether or not the server is processing frames or not.\n\nThe server does not process frames until at least one client joins the game.\nOnce the first player has in, even if that player, leaves, the server's\ntimers and entities will work.","tags":[{"tag":"","text":"Returns whether or not the server is processing frames or not.\n\nThe server does not process frames until at least one client joins the game.\nOnce the first player has in, even if that player, leaves, the server's\ntimers and entities will work."},{"tag":"return","text":"True if the server is ticking, false otherwise."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"bool","arguments":[]},"CreateTimer":{"name":"CreateTimer","refLine":90,"docStart":3084,"docEnd":3668,"docs":{"brief":"Creates a basic timer. Calling CloseHandle() on a timer will end the timer.","tags":[{"tag":"","text":"Creates a basic timer. Calling CloseHandle() on a timer will end the timer."},{"tag":"param:interval","text":"Interval from the current game time to execute the given function."},{"tag":"param:func","text":"Function to execute once the given interval has elapsed."},{"tag":"param:data","text":"Handle or value to pass through to the timer callback function."},{"tag":"param:flags","text":"Flags to set (such as repeatability or auto-Handle closing)."},{"tag":"return","text":"Handle to the timer object. You do not need to call CloseHandle().\nIf the timer could not be created, INVALID_HANDLE will be returned."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"Handle","arguments":[{"type":"float","name":"interval","decl":"float interval","default":null},{"type":"Timer","name":"func","decl":"Timer func","default":null},{"type":"any","name":"data","decl":"any data","default":"INVALID_HANDLE"},{"type":"int","name":"flags","decl":"int flags","default":"0"}]},"ExtendMapTimeLimit":{"name":"ExtendMapTimeLimit","refLine":155,"docStart":5837,"docEnd":6179,"docs":{"brief":"Extends the map time limit in a way that will notify all plugins.","tags":[{"tag":"","text":"Extends the map time limit in a way that will notify all plugins."},{"tag":"param:time","text":"Number of seconds to extend map time limit by.\nThe number can be negative to decrease the time limit.\nIf 0, the map will be set to have no time limit."},{"tag":"return","text":"True on success, false if operation is not supported."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"bool","arguments":[{"type":"int","name":"time","decl":"int time","default":null}]},"CreateDataTimer":{"name":"CreateDataTimer","refLine":205,"docStart":7489,"docEnd":8152,"docs":{"brief":"Creates a timer associated with a new datapack, and returns the datapack.","tags":[{"tag":"","text":"Creates a timer associated with a new datapack, and returns the datapack."},{"tag":"note","text":"The datapack is automatically freed when the timer ends."},{"tag":"note","text":"The position of the datapack is not reset or changed for the timer function."},{"tag":"param:interval","text":"Interval from the current game time to execute the given function."},{"tag":"param:func","text":"Function to execute once the given interval has elapsed."},{"tag":"param:datapack","text":"The newly created datapack is passed though this by-reference\nparameter to the timer callback function."},{"tag":"param:flags","text":"Timer flags."},{"tag":"return","text":"Handle to the timer object. You do not need to call CloseHandle()."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"stock","returnType":"Handle","arguments":[{"type":"float","name":"interval","decl":"float interval","default":null},{"type":"Timer","name":"func","decl":"Timer func","default":null},{"type":"Handle&","name":"datapack","decl":"Handle &datapack","default":null},{"type":"int","name":"flags","decl":"int flags","default":"0"}]},"TriggerTimer":{"name":"TriggerTimer","refLine":109,"docStart":4191,"docEnd":4430,"docs":{"brief":"Manually triggers a timer so its function will be called.","tags":[{"tag":"","text":"Manually triggers a timer so its function will be called."},{"tag":"param:timer","text":"Timer Handle to trigger."},{"tag":"param:reset","text":"If reset is true, the elapsed time counter is reset\nso the full interval must pass again."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"timer","decl":"Handle timer","default":null},{"type":"bool","name":"reset","decl":"bool reset","default":"false"}]},"GetTickedTime":{"name":"GetTickedTime","refLine":123,"docStart":4448,"docEnd":4893,"docs":{"brief":"Returns the simulated game time.\n\nThis time is internally maintained by SourceMod and is based on the game\ntick count and tick rate. Unlike GetGameTime(), it will increment past\nmap changes and while no players are connected. Unlike GetEngineTime(),\nit will not increment based on the system clock (i.e. it is still bound\nto the ticking process).","tags":[{"tag":"","text":"Returns the simulated game time.\n\nThis time is internally maintained by SourceMod and is based on the game\ntick count and tick rate. Unlike GetGameTime(), it will increment past\nmap changes and while no players are connected. Unlike GetEngineTime(),\nit will not increment based on the system clock (i.e. it is still bound\nto the ticking process)."},{"tag":"return","text":"Time based on the game tick count."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"float","arguments":[]},"OnMapTimeLeftChanged":{"name":"OnMapTimeLeftChanged","refLine":180,"docStart":6438,"docEnd":7064,"docs":{"brief":"Notification that the map's time left has changed via a change in the time\nlimit or a change in the game rules (such as mp_restartgame). This is useful\nfor plugins trying to create timers based on the time left in the map.\n\nCalling ExtendMapTimeLimit() from here, without proper precaution, will\ncause infinite recursion.\n\nIf the operation is not supported, this will never be called.\n\nIf the server has not yet processed any frames (i.e. no players have joined\nthe map yet), then this will be called once the server begins ticking, even\nif there is no time limit set.","tags":[{"tag":"","text":"Notification that the map's time left has changed via a change in the time\nlimit or a change in the game rules (such as mp_restartgame). This is useful\nfor plugins trying to create timers based on the time left in the map.\n\nCalling ExtendMapTimeLimit() from here, without proper precaution, will\ncause infinite recursion.\n\nIf the operation is not supported, this will never be called.\n\nIf the server has not yet processed any frames (i.e. no players have joined\nthe map yet), then this will be called once the server begins ticking, even\nif there is no time limit set."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"forward","returnType":"void","arguments":[]},"KillTimer":{"name":"KillTimer","refLine":100,"docStart":3766,"docEnd":4127,"docs":{"brief":"Kills a timer. Use this instead of CloseHandle() if you need more options.","tags":[{"tag":"","text":"Kills a timer. Use this instead of CloseHandle() if you need more options."},{"tag":"param:timer","text":"Timer Handle to kill."},{"tag":"param:autoClose","text":"If autoClose is true, the data that was passed to CreateTimer() will\nbe closed as a handle if TIMER_DATA_HNDL_CLOSE was not specified."},{"tag":"error","text":"Invalid handles will cause a run time error."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"timer","decl":"Handle timer","default":null},{"type":"bool","name":"autoClose","decl":"bool autoClose","default":"false"}]},"GetTickInterval":{"name":"GetTickInterval","refLine":164,"docStart":6222,"docEnd":6401,"docs":{"brief":"Returns the number of seconds in between game server ticks.\n\nNote: A tick, in this context, is a frame.","tags":[{"tag":"","text":"Returns the number of seconds in between game server ticks.\n\nNote: A tick, in this context, is a frame."},{"tag":"return","text":"Number of seconds in between ticks."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"kind":"native","returnType":"float","arguments":[]}},"methodmaps":{},"enumstructs":{},"constants":{},"defines":{"_timers_included":{"name":"_timers_included","refLine":0,"docStart":0,"docEnd":0,"docs":null,"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":""},"TIMER_DATA_HNDL_CLOSE":{"name":"TIMER_DATA_HNDL_CLOSE","refLine":43,"docStart":1953,"docEnd":2030,"docs":{"brief":"Timer will automatically call CloseHandle() on its data when finished","tags":[{"tag":"","text":"Timer will automatically call CloseHandle() on its data when finished"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(1<<9)"},"TIMER_FLAG_NO_MAPCHANGE":{"name":"TIMER_FLAG_NO_MAPCHANGE","refLine":41,"docStart":1788,"docEnd":1832,"docs":{"brief":"Timer will not carry over mapchanges","tags":[{"tag":"","text":"Timer will not carry over mapchanges"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(1<<1)"},"TIMER_HNDL_CLOSE":{"name":"TIMER_HNDL_CLOSE","refLine":42,"docStart":1868,"docEnd":1912,"docs":{"brief":"Deprecated define, replaced by below","tags":[{"tag":"","text":"Deprecated define, replaced by below"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(1<<9)"},"TIMER_REPEAT":{"name":"TIMER_REPEAT","refLine":40,"docStart":1692,"docEnd":1746,"docs":{"brief":"Timer will repeat until it returns Plugin_Stop","tags":[{"tag":"","text":"Timer will repeat until it returns Plugin_Stop"}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"value":"(1<<0)"}},"enums":{},"typesets":{"Timer":{"name":"Timer","refLine":48,"docStart":2034,"docEnd":2110,"docs":{"brief":"Any of the following prototypes will work for a timed function.","tags":[{"tag":"","text":"Any of the following prototypes will work for a timed function."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"types":{"function Action(Handle timer, Handle hndl)":{"refLine":58,"docStart":2131,"docEnd":2427,"docs":{"brief":"Called when the timer interval has elapsed.","tags":[{"tag":"","text":"Called when the timer interval has elapsed."},{"tag":"param:timer","text":"Handle to the timer object."},{"tag":"param:hndl","text":"Handle passed to CreateTimer() when timer was created."},{"tag":"return","text":"Plugin_Stop to stop a repeating timer, any other value for\ndefault behavior."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"type":"function Action(Handle timer, Handle hndl)","parsedSignature":{"returnType":"Action","arguments":[{"type":"Handle","name":"timer","decl":"Handle timer","default":null},{"type":"Handle","name":"hndl","decl":"Handle hndl","default":null}]}},"function Action(Handle timer)":{"refLine":77,"docStart":2822,"docEnd":3043,"docs":{"brief":"Called when the timer interval has elapsed.","tags":[{"tag":"","text":"Called when the timer interval has elapsed."},{"tag":"param:timer","text":"Handle to the timer object."},{"tag":"return","text":"Plugin_Stop to stop a repeating timer, any other value for\ndefault behavior."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"type":"function Action(Handle timer)","parsedSignature":{"returnType":"Action","arguments":[{"type":"Handle","name":"timer","decl":"Handle timer","default":null}]}},"function Action(Handle timer, any data)":{"refLine":68,"docStart":2479,"docEnd":2773,"docs":{"brief":"Called when the timer interval has elapsed.","tags":[{"tag":"","text":"Called when the timer interval has elapsed."},{"tag":"param:timer","text":"Handle to the timer object."},{"tag":"param:data","text":"Data passed to CreateTimer() when timer was created."},{"tag":"return","text":"Plugin_Stop to stop a repeating timer, any other value for\ndefault behavior."}]},"metadata":{"created":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402},"last_updated":{"hash":"9c98edd1048b608e47f7b3991ef1d5d9bb5dcbc8","count":5070,"time":1418193402}},"type":"function Action(Handle timer, any data)","parsedSignature":{"returnType":"Action","arguments":[{"type":"Handle","name":"timer","decl":"Handle timer","default":null},{"type":"any","name":"data","decl":"any data","default":null}]}}}}},"typedefs":{}},"adt_trie":{"functions":{"SetTrieArray":{"name":"SetTrieArray","refLine":77,"docStart":2779,"docEnd":3174,"docs":{"brief":"Sets an array value in a Map, either inserting a new entry or replacing an old one.","tags":[{"tag":"","text":"Sets an array value in a Map, either inserting a new entry or replacing an old one."},{"tag":"param:map","text":"Map Handle."},{"tag":"param:key","text":"Key string."},{"tag":"param:array","text":"Array to store."},{"tag":"param:num_items","text":"Number of items in the array."},{"tag":"param:replace","text":"If false, operation will fail if the key is already set."},{"tag":"return","text":"True on success, false on failure."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const any[]","name":"array","decl":"const any[] array","default":null},{"type":"int","name":"num_items","decl":"int num_items","default":null},{"type":"bool","name":"replace","decl":"bool replace","default":"true"}]},"GetTrieValue":{"name":"GetTrieValue","refLine":101,"docStart":3736,"docEnd":4033,"docs":{"brief":"Retrieves a value in a Map.","tags":[{"tag":"","text":"Retrieves a value in a Map."},{"tag":"param:map","text":"Map Handle."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"Variable to store value."},{"tag":"return","text":"True on success. False if the key is not set, or the key is set\nas an array or string (not a value)."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"any&","name":"value","decl":"any& value","default":null}]},"RemoveFromTrie":{"name":"RemoveFromTrie","refLine":256,"docStart":10090,"docEnd":10288,"docs":{"brief":"Removes a key entry from a Map.","tags":[{"tag":"","text":"Removes a key entry from a Map."},{"tag":"param:map","text":"Map Handle."},{"tag":"param:key","text":"Key string."},{"tag":"return","text":"True on success, false if the value was never set."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"d3cc797f0f008d809880310da59ba483893549cc","count":5829,"time":1452009150}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null}]},"SetTrieValue":{"name":"SetTrieValue","refLine":64,"docStart":2332,"docEnd":2686,"docs":{"brief":"Sets a value in a hash map, either inserting a new entry or replacing an old one.","tags":[{"tag":"","text":"Sets a value in a hash map, either inserting a new entry or replacing an old one."},{"tag":"param:map","text":"Map Handle."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"Value to store at this key."},{"tag":"param:replace","text":"If false, operation will fail if the key is already set."},{"tag":"return","text":"True on success, false on failure."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"any","name":"value","decl":"any value","default":null},{"type":"bool","name":"replace","decl":"bool replace","default":"true"}]},"SetTrieString":{"name":"SetTrieString","refLine":89,"docStart":3286,"docEnd":3631,"docs":{"brief":"Sets a string value in a Map, either inserting a new entry or replacing an old one.","tags":[{"tag":"","text":"Sets a string value in a Map, either inserting a new entry or replacing an old one."},{"tag":"param:map","text":"Map Handle."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"String to store."},{"tag":"param:replace","text":"If false, operation will fail if the key is already set."},{"tag":"return","text":"True on success, false on failure."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null},{"type":"bool","name":"replace","decl":"bool replace","default":"true"}]},"GetTrieArray":{"name":"GetTrieArray","refLine":115,"docStart":4108,"docEnd":4545,"docs":{"brief":"Retrieves an array in a Map.","tags":[{"tag":"","text":"Retrieves an array in a Map."},{"tag":"param:map","text":"Map Handle."},{"tag":"param:key","text":"Key string."},{"tag":"param:array","text":"Buffer to store array."},{"tag":"param:max_size","text":"Maximum size of array buffer."},{"tag":"param:size","text":"Optional parameter to store the number of elements written to the buffer."},{"tag":"return","text":"True on success. False if the key is not set, or the key is set\nas a value or string (not an array)."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"any[]","name":"array","decl":"any[] array","default":null},{"type":"int","name":"max_size","decl":"int max_size","default":null},{"type":"int&","name":"size","decl":"int& size","default":"0"}]},"CreateTrie":{"name":"CreateTrie","refLine":169,"docStart":6569,"docEnd":7209,"docs":{"brief":"Creates a hash map. A hash map is a container that can map strings (called\n\"keys\") to arbitrary values (cells, arrays, or strings). Keys in a hash map\nare unique. That is, there is at most one entry in the map for a given key.\n\nInsertion, deletion, and lookup in a hash map are all considered to be fast\noperations, amortized to O(1), or constant time.\n\nThe word \"Trie\" in this API is historical. As of SourceMod 1.6, tries have\nbeen internally replaced with hash tables, which have O(1) insertion time\ninstead of O(n).","tags":[{"tag":"","text":"Creates a hash map. A hash map is a container that can map strings (called\n\"keys\") to arbitrary values (cells, arrays, or strings). Keys in a hash map\nare unique. That is, there is at most one entry in the map for a given key.\n\nInsertion, deletion, and lookup in a hash map are all considered to be fast\noperations, amortized to O(1), or constant time.\n\nThe word \"Trie\" in this API is historical. As of SourceMod 1.6, tries have\nbeen internally replaced with hash tables, which have O(1) insertion time\ninstead of O(n)."},{"tag":"return","text":"New Map Handle, which must be freed via CloseHandle()."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408}},"kind":"native","returnType":"StringMap","arguments":[]},"GetTrieSize":{"name":"GetTrieSize","refLine":156,"docStart":5570,"docEnd":5732,"docs":{"brief":"Retrieves the number of elements in a map.","tags":[{"tag":"","text":"Retrieves the number of elements in a map."},{"tag":"param:map","text":"Map Handle."},{"tag":"return","text":"Number of elements in the trie."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"4e1fb49096026238036464b72aee7127eda7bf70","count":1830,"time":1199340686},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null}]},"TrieSnapshotKeyBufferSize":{"name":"TrieSnapshotKeyBufferSize","refLine":188,"docStart":6468,"docEnd":6788,"docs":{"brief":"Returns the buffer size required to store a given key. That is, it returns\nthe length of the key plus one.","tags":[{"tag":"","text":"Returns the buffer size required to store a given key. That is, it returns\nthe length of the key plus one."},{"tag":"param:snapshot","text":"Map snapshot."},{"tag":"param:index","text":"Key index (starting from 0)."},{"tag":"return","text":"Buffer size required to store the key string."},{"tag":"error","text":"Invalid Handle or index out of range."}]},"metadata":{"created":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"snapshot","decl":"Handle snapshot","default":null},{"type":"int","name":"index","decl":"int index","default":null}]},"CreateTrieSnapshot":{"name":"CreateTrieSnapshot","refLine":166,"docStart":5769,"docEnd":6080,"docs":{"brief":"Creates a snapshot of all keys in the map. If the map is changed after this\ncall, the changes are not reflected in the snapshot. Keys are not sorted.","tags":[{"tag":"","text":"Creates a snapshot of all keys in the map. If the map is changed after this\ncall, the changes are not reflected in the snapshot. Keys are not sorted."},{"tag":"param:map","text":"Map Handle."},{"tag":"return","text":"New Map Snapshot Handle, which must be closed via CloseHandle()."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"Handle","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null}]},"TrieSnapshotLength":{"name":"TrieSnapshotLength","refLine":177,"docStart":6131,"docEnd":6419,"docs":{"brief":"Returns the number of keys in a map snapshot. Note that this may be\ndifferent from the size of the map, since the map can change after the\nsnapshot of its keys was taken.","tags":[{"tag":"","text":"Returns the number of keys in a map snapshot. Note that this may be\ndifferent from the size of the map, since the map can change after the\nsnapshot of its keys was taken."},{"tag":"param:snapshot","text":"Map snapshot."},{"tag":"return","text":"Number of keys."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"snapshot","decl":"Handle snapshot","default":null}]},"GetTrieString":{"name":"GetTrieString","refLine":129,"docStart":4640,"docEnd":5074,"docs":{"brief":"Retrieves a string in a Map.","tags":[{"tag":"","text":"Retrieves a string in a Map."},{"tag":"param:map","text":"Map Handle."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"Buffer to store value."},{"tag":"param:max_size","text":"Maximum size of string buffer."},{"tag":"param:size","text":"Optional parameter to store the number of bytes written to the buffer."},{"tag":"return","text":"True on success. False if the key is not set, or the key is set\nas a value or array (not a string)."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"bool","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null},{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"char[]","name":"value","decl":"char[] value","default":null},{"type":"int","name":"max_size","decl":"int max_size","default":null},{"type":"int&","name":"size","decl":"int& size","default":"0"}]},"ClearTrie":{"name":"ClearTrie","refLine":264,"docStart":10351,"docEnd":10455,"docs":{"brief":"Clears all entries from a Map.","tags":[{"tag":"","text":"Clears all entries from a Map."},{"tag":"param:map","text":"Map Handle."},{"tag":"error","text":"Invalid Handle."}]},"metadata":{"created":{"hash":"d3a22aeff7ee463357795a8105f98c7a0ca07fc1","count":1780,"time":1197263677},"last_updated":{"hash":"7451257578e0f3ae059e122b1a65bd0a4d9f4678","count":5907,"time":1463774181}},"kind":"native","returnType":"void","arguments":[{"type":"Handle","name":"map","decl":"Handle map","default":null}]},"GetTrieSnapshotKey":{"name":"GetTrieSnapshotKey","refLine":200,"docStart":6851,"docEnd":7188,"docs":{"brief":"Retrieves the key string of a given key in a map snapshot.","tags":[{"tag":"","text":"Retrieves the key string of a given key in a map snapshot."},{"tag":"param:snapshot","text":"Map snapshot."},{"tag":"param:index","text":"Key index (starting from 0)."},{"tag":"param:buffer","text":"String buffer."},{"tag":"param:maxlength","text":"Maximum buffer length."},{"tag":"return","text":"Number of bytes written to the buffer."},{"tag":"error","text":"Invalid Handle or index out of range."}]},"metadata":{"created":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142},"last_updated":{"hash":"b261dde8586f97d9e0ad3e0102adc95c7b278039","count":4097,"time":1377796142}},"kind":"native","returnType":"int","arguments":[{"type":"Handle","name":"snapshot","decl":"Handle snapshot","default":null},{"type":"int","name":"index","decl":"int index","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]}},"methodmaps":{"StringMapSnapshot":{"name":"StringMapSnapshot","refLine":130,"docStart":5529,"docEnd":5701,"docs":{"brief":"A StringMapSnapshot is created via StringMap.Snapshot(). It captures the\nkeys on a map so they can be read. Snapshots must be freed with delete or\nCloseHandle().","tags":[{"tag":"","text":"A StringMapSnapshot is created via StringMap.Snapshot(). It captures the\nkeys on a map so they can be read. Snapshots must be freed with delete or\nCloseHandle()."}]},"metadata":{"created":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408},"last_updated":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408}},"parent":"Handle","methods":{"GetKey":{"name":"GetKey","refLine":152,"docStart":6184,"docEnd":6492,"docs":{"brief":"Retrieves the key string of a given key in a map snapshot.","tags":[{"tag":"","text":"Retrieves the key string of a given key in a map snapshot."},{"tag":"param:index","text":"Key index (starting from 0)."},{"tag":"param:buffer","text":"String buffer."},{"tag":"param:maxlength","text":"Maximum buffer length."},{"tag":"return","text":"Number of bytes written to the buffer."},{"tag":"error","text":"Index out of range."}]},"metadata":{"created":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408},"last_updated":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"index","decl":"int index","default":null},{"type":"char[]","name":"buffer","decl":"char[] buffer","default":null},{"type":"int","name":"maxlength","decl":"int maxlength","default":null}]},"KeyBufferSize":{"name":"KeyBufferSize","refLine":143,"docStart":5852,"docEnd":6133,"docs":{"brief":"Returns the buffer size required to store a given key. That is, it\nreturns the length of the key plus one.","tags":[{"tag":"","text":"Returns the buffer size required to store a given key. That is, it\nreturns the length of the key plus one."},{"tag":"param:index","text":"Key index (starting from 0)."},{"tag":"return","text":"Buffer size required to store the key string."},{"tag":"error","text":"Index out of range."}]},"metadata":{"created":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408},"last_updated":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408}},"kind":"native","returnType":"int","arguments":[{"type":"int","name":"index","decl":"int index","default":null}]}},"properties":{"Length":{"name":"Length","refLine":133,"docStart":5745,"docEnd":5795,"docs":{"brief":"Returns the number of keys in the map snapshot.","tags":[{"tag":"","text":"Returns the number of keys in the map snapshot."}]},"metadata":{"created":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408},"last_updated":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408}},"type":"int","getter":true,"setter":false}}},"StringMap":{"name":"StringMap","refLine":39,"docStart":1659,"docEnd":1698,"docs":{"brief":"Object-oriented wrapper for maps.","tags":[{"tag":"","text":"Object-oriented wrapper for maps."}]},"metadata":{"created":{"hash":"6ba4bcb9551e826360e6154feac2d3961ea8d342","count":4987,"time":1415497408},"last_updated":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307}},"parent":"Handle","methods":{"ContainsKey":{"name":"ContainsKey","refLine":121,"docStart":5444,"docEnd":5595,"docs":{"brief":"Checks whether a key is present in a Map.","tags":[{"tag":"","text":"Checks whether a key is present in a Map."},{"tag":"param:key","text":"Key string."},{"tag":"return","text":"True if the key has been found, else false."}]},"metadata":{"created":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307},"last_updated":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null}]},"SetValue":{"name":"SetValue","refLine":69,"docStart":2799,"docEnd":3112,"docs":{"brief":"Sets a value in a hash map, either inserting a new entry or replacing an old one.","tags":[{"tag":"","text":"Sets a value in a hash map, either inserting a new entry or replacing an old one."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"Value to store at this key."},{"tag":"param:replace","text":"If false, operation will fail if the key is already set."},{"tag":"return","text":"True on success, false on failure."}]},"metadata":{"created":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307},"last_updated":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"any","name":"value","decl":"any value","default":null},{"type":"bool","name":"replace","decl":"bool replace","default":"true"}]},"StringMap":{"name":"StringMap","refLine":53,"docStart":1734,"docEnd":2366,"docs":{"brief":"Creates a hash map. A hash map is a container that can map strings (called\n\"keys\") to arbitrary values (cells, arrays, or strings). Keys in a hash map\nare unique. That is, there is at most one entry in the map for a given key.\n\nInsertion, deletion, and lookup in a hash map are all considered to be fast\noperations, amortized to O(1), or constant time.\n\nThe word \"Trie\" in this API is historical. As of SourceMod 1.6, tries have\nbeen internally replaced with hash tables, which have O(1) insertion time\ninstead of O(n).\n\nThe StringMap must be freed via delete or CloseHandle().","tags":[{"tag":"","text":"Creates a hash map. A hash map is a container that can map strings (called\n\"keys\") to arbitrary values (cells, arrays, or strings). Keys in a hash map\nare unique. That is, there is at most one entry in the map for a given key.\n\nInsertion, deletion, and lookup in a hash map are all considered to be fast\noperations, amortized to O(1), or constant time.\n\nThe word \"Trie\" in this API is historical. As of SourceMod 1.6, tries have\nbeen internally replaced with hash tables, which have O(1) insertion time\ninstead of O(n).\n\nThe StringMap must be freed via delete or CloseHandle()."}]},"metadata":{"created":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307},"last_updated":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307}},"kind":"native","returnType":"StringMap","arguments":[]},"GetValue":{"name":"GetValue","refLine":94,"docStart":4057,"docEnd":4324,"docs":{"brief":"Retrieves a value in a Map.","tags":[{"tag":"","text":"Retrieves a value in a Map."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"Variable to store value."},{"tag":"return","text":"True on success. False if the key is not set, or the key is set\nas an array or string (not a value)."}]},"metadata":{"created":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307},"last_updated":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"any&","name":"value","decl":"any& value","default":null}]},"GetString":{"name":"GetString","refLine":115,"docStart":4935,"docEnd":5348,"docs":{"brief":"Retrieves a string in a Map.","tags":[{"tag":"","text":"Retrieves a string in a Map."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"Buffer to store value."},{"tag":"param:max_size","text":"Maximum size of string buffer."},{"tag":"param:size","text":"Optional parameter to store the number of bytes written to the buffer."},{"tag":"return","text":"True on success. False if the key is not set, or the key is set\nas a value or array (not a string)."}]},"metadata":{"created":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307},"last_updated":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"char[]","name":"value","decl":"char[] value","default":null},{"type":"int","name":"max_size","decl":"int max_size","default":null},{"type":"int&","name":"size","decl":"int& size","default":"0"}]},"SetString":{"name":"SetString","refLine":86,"docStart":3659,"docEnd":3963,"docs":{"brief":"Sets a string value in a Map, either inserting a new entry or replacing an old one.","tags":[{"tag":"","text":"Sets a string value in a Map, either inserting a new entry or replacing an old one."},{"tag":"param:key","text":"Key string."},{"tag":"param:value","text":"String to store."},{"tag":"param:replace","text":"If false, operation will fail if the key is already set."},{"tag":"return","text":"True on success, false on failure."}]},"metadata":{"created":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307},"last_updated":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"const char[]","name":"value","decl":"const char[] value","default":null},{"type":"bool","name":"replace","decl":"bool replace","default":"true"}]},"GetArray":{"name":"GetArray","refLine":105,"docStart":4390,"docEnd":4841,"docs":{"brief":"Retrieves an array in a Map.","tags":[{"tag":"","text":"Retrieves an array in a Map."},{"tag":"param:map","text":"Map Handle."},{"tag":"param:key","text":"Key string."},{"tag":"param:array","text":"Buffer to store array."},{"tag":"param:max_size","text":"Maximum size of array buffer."},{"tag":"param:size","text":"Optional parameter to store the number of elements written to the buffer."},{"tag":"return","text":"True on success. False if the key is not set, or the key is set\nas a value or string (not an array)."}]},"metadata":{"created":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307},"last_updated":{"hash":"a191a907e95651fd00567a02c907c6b6c2b15ebb","count":6646,"time":1606798307}},"kind":"native","returnType":"bool","arguments":[{"type":"const char[]","name":"key","decl":"const char[] key","default":null},{"type":"any[]","name":"array","decl":"any[] array","default":null},{"type":"int","name":"max_size","decl":"int max_size","default":null},{"type":"int&","name":"size","decl":"int& size","default":"0"}]},"SetArray":{"name":"SetArray","refLine":78,"docStart":3196,"docEnd":3552,"docs":{"brief":"Sets an array value in a Map, either inserting a new entry or replacing an old one.","tags":[{"tag":"","text":"Sets an array value in a Map, either inserting a new entry or replacing an old one."},{"tag":"param:key","text":"Key string."},{"tag":"param:array","text":"Array to store."},{"tag":"param:num_items","text":"N
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment