// Copyright 2023 xensik. All rights reserved.
//
// Use of this source code is governed by a GNU GPLv3 license
// that can be found in the LICENSE file.

#include "h2.hpp"

namespace xsk::gsc::h2
{

extern std::array<std::pair<u16, char const*>, func_count> const func_list
{{
    { 0x001, "precacheturret" },
    { 0x002, "getweaponarray" },
    { 0x003, "createprintchannel" },
    { 0x004, "updategamerprofileall" },
    { 0x005, "clearlocalizedstrings" },
    { 0x006, "setphysicsgravitydir" },
    { 0x007, "gettimescale" },
    { 0x008, "settimescale" },
    { 0x009, "setslowmotionview" },
    { 0x00A, "teleportscene" },
    { 0x00B, "forcesharedammo" },
    { 0x00C, "refreshhudcompass" },
    { 0x00D, "refreshhudammocounter" },
    { 0x00E, "notifyoncommand" },
    { 0x00F, "setprintchannel" },
    { 0x010, "_func_10" },
    { 0x011, "_func_11" },
    { 0x012, "_func_12" },
    { 0x013, "_func_13" },
    { 0x014, "print" },
    { 0x015, "println" },
    { 0x016, "print3d" },
    { 0x017, "line" },
    { 0x018, "spawnturret" },
    { 0x019, "canspawnturret" },
    { 0x01A, "assert" },
    { 0x01B, "pausecinematicingame" },
    { 0x01C, "drawcompassfriendlies" },
    { 0x01D, "bulletspread" },
    { 0x01E, "bullettracer" },
    { 0x01F, "badplace_delete" },
    { 0x020, "badplace_cylinder" },
    { 0x021, "badplace_arc" },
    { 0x022, "badplace_brush" },
    { 0x023, "clearallcorpses" },
    { 0x024, "setturretnode" },
    { 0x025, "unsetturretnode" },
    { 0x026, "setnodepriority" },
    { 0x027, "isnodeoccupied" },
    { 0x028, "_func_028" },
    { 0x029, "_func_029" },
    { 0x02A, "setdebugorigin" },
    { 0x02B, "setdebugangles" },
    { 0x02C, "updategamerprofile" },
    { 0x02D, "assertex" },
    { 0x02E, "assertmsg" },
    { 0x02F, "isdefined" },
    { 0x030, "isvalidmissile" },
    { 0x031, "isstring" },
    { 0x032, "setomnvar" },
    { 0x033, "getomnvar" },
    { 0x034, "setdvar" },
    { 0x035, "_func_035" },
    { 0x036, "setdynamicdvar" },
    { 0x037, "setdvarifuninitialized" },
    { 0x038, "setdevdvar" },
    { 0x039, "getdvar" },
    { 0x03A, "getdvarint" },
    { 0x03B, "getdvarfloat" },
    { 0x03C, "getdvarvector" },
    { 0x03D, "gettime" },
    { 0x03E, "gettimeutc" },
    { 0x03F, "getculldist" },
    { 0x040, "getentbynum" },
    { 0x041, "getscreenwidth" },
    { 0x042, "getscreenheight" },
    { 0x043, "getweaponmodel" },
    { 0x044, "_func_44" },
    { 0x045, "_func_45" },
    { 0x046, "_func_46" },
    { 0x047, "_func_47" },
    { 0x048, "_func_48" },
    { 0x049, "setsunlight" },
    { 0x04A, "resetsunlight" },
    { 0x04B, "getmapsundirection" },
    { 0x04C, "getmapsunangles" },
    { 0x04D, "setsundirection" },
    { 0x04E, "lerpsundirection" },
    { 0x04F, "lerpsunangles" },
    { 0x050, "resetsundirection" },
    { 0x051, "enableforcedsunshadows" },
    { 0x052, "enableforcednosunshadows" },
    { 0x053, "disableforcedsunshadows" },
    { 0x054, "enableouterspacemodellighting" },
    { 0x055, "disableouterspacemodellighting" },
    { 0x056, "remapstage" },
    { 0x057, "changelevel" },
    { 0x058, "missionsuccess" },
    { 0x059, "missionfailed" },
    { 0x05A, "cinematic" },
    { 0x05B, "cinematicingame" },
    { 0x05C, "cinematicingamesync" },
    { 0x05D, "cinematicingameloop" },
    { 0x05E, "cinematicingameloopresident" },
    { 0x05F, "iscinematicplaying" },
    { 0x060, "stopcinematicingame" },
    { 0x061, "getweapondisplayname" },
    { 0x062, "getweaponbasename" },
    { 0x063, "getweaponattachments" },
    { 0x064, "getweaponattachmentdisplaynames" },
    { 0x065, "getweaponcamoname" },
    { 0x066, "getweaponreticlename" },
    { 0x067, "getanimlength" },
    { 0x068, "animhasnotetrack" },
    { 0x069, "getnotetracktimes" },
    { 0x06A, "spawn" },
    { 0x06B, "spawnloopsound" },
    { 0x06C, "spawnloopingsound" },
    { 0x06D, "bullettrace" },
    { 0x06E, "target_setmaxsize" },
    { 0x06F, "target_setcolor" },
    { 0x070, "target_setdelay" },
    { 0x071, "getstartorigin" },
    { 0x072, "getstartangles" },
    { 0x073, "getcycleoriginoffset" },
    { 0x074, "magicgrenade" },
    { 0x075, "magicgrenademanual" },
    { 0x076, "setblur" },
    { 0x077, "musicplay" },
    { 0x078, "musicstop" },
    { 0x079, "soundfade" },
    { 0x07A, "addsubmix" },
    { 0x07B, "clearsubmix" },
    { 0x07C, "clearallsubmixes" },
    { 0x07D, "blendsubmix" },
    { 0x07E, "makestickysubmix" },
    { 0x07F, "makeunstickysubmix" },
    { 0x080, "soundtime" },
    { 0x081, "soundtimereset" },
    { 0x082, "levelsoundfade" },
    { 0x083, "precachenightvisioncodeassets" },
    { 0x084, "_func_084" },
    { 0x085, "precachedigitaldistortcodeassets" },
    { 0x086, "precacheminimapsentrycodeassets" },
    { 0x087, "savegame" },
    { 0x088, "issavesuccessful" },
    { 0x089, "issaverecentlyloaded" },
    { 0x08A, "savegamenocommit" },
    { 0x08B, "commitsave" },
    { 0x08C, "commitwouldbevalid" },
    { 0x08D, "getfxvisibility" },
    { 0x08E, "setculldist" },
    { 0x08F, "bullettracepassed" },
    { 0x090, "sighttracepassed" },
    { 0x091, "physicstrace" },
    { 0x092, "playerphysicstrace" },
    { 0x093, "getgroundposition" },
    { 0x094, "getangledelta" },
    { 0x095, "getmovedelta" },
    { 0x096, "getnorthyaw" },
    { 0x097, "getcommandfromkey" },
    { 0x098, "getsticksconfig" },
    { 0x099, "_func_99" },
    { 0x09A, "_func_9A" },
    { 0x09B, "_func_9B" },
    { 0x09C, "weaponfightdist" },
    { 0x09D, "weaponmaxdist" },
    { 0x09E, "isturretactive" },
    { 0x09F, "getstarttime" },
    { 0x0A0, "target_alloc" },
    { 0x0A1, "target_flush" },
    { 0x0A2, "target_set" },
    { 0x0A3, "target_remove" },
    { 0x0A4, "target_setshader" },
    { 0x0A5, "target_setoffscreenshader" },
    { 0x0A6, "target_isinrect" },
    { 0x0A7, "target_isincircle" },
    { 0x0A8, "target_startreticlelockon" },
    { 0x0A9, "target_clearreticlelockon" },
    { 0x0AA, "target_getarray" },
    { 0x0AB, "target_istarget" },
    { 0x0AC, "target_setattackmode" },
    { 0x0AD, "target_setjavelinonly" },
    { 0x0AE, "target_hidefromplayer" },
    { 0x0AF, "target_showtoplayer" },
    { 0x0B0, "target_setscaledrendermode" },
    { 0x0B1, "target_drawcornersonly" },
    { 0x0B2, "target_drawsquare" },
    { 0x0B3, "target_drawsingle" },
    { 0x0B4, "target_setminsize" },
    { 0x0B5, "setnorthyaw" },
    { 0x0B6, "setslowmotion" },
    { 0x0B7, "randomint" },
    { 0x0B8, "randomfloat" },
    { 0x0B9, "randomintrange" },
    { 0x0BA, "randomfloatrange" },
    { 0x0BB, "sin" },
    { 0x0BC, "cos" },
    { 0x0BD, "tan" },
    { 0x0BE, "asin" },
    { 0x0BF, "acos" },
    { 0x0C0, "atan" },
    { 0x0C1, "int" },
    { 0x0C2, "float" },
    { 0x0C3, "abs" },
    { 0x0C4, "min" },
    { 0x0C5, "objective_additionalcurrent" },
    { 0x0C6, "objective_ring" },
    { 0x0C7, "objective_setpointertextoverride" },
    { 0x0C8, "getnode" },
    { 0x0C9, "getnodearray" },
    { 0x0CA, "getallnodes" },
    { 0x0CB, "getnodesinradius" },
    { 0x0CC, "getnodesinradiussorted" },
    { 0x0CD, "getclosestnodeinsight" },
    { 0x0CE, "getreflectionlocs" },
    { 0x0CF, "getreflectionreferencelocs" },
    { 0x0D0, "getvehicletracksegment" },
    { 0x0D1, "getvehicletracksegmentarray" },
    { 0x0D2, "getallvehicletracksegments" },
    { 0x0D3, "isarray" },
    { 0x0D4, "isai" },
    { 0x0D5, "getindexforluincstring" },
    { 0x0D6, "issentient" },
    { 0x0D7, "isgodmode" },
    { 0x0D8, "getdebugdvar" },
    { 0x0D9, "getdebugdvarint" },
    { 0x0DA, "getdebugdvarfloat" },
    { 0x0DB, "setsaveddvar" },
    { 0x0DC, "getfreeaicount" },
    { 0x0DD, "getaicount" },
    { 0x0DE, "getaiarray" },
    { 0x0DF, "getaispeciesarray" },
    { 0x0E0, "getspawnerarray" },
    { 0x0E1, "getcorpsearray" },
    { 0x0E2, "getspawnerteamarray" },
    { 0x0E3, "getweaponclipmodel" },
    { 0x0E4, "getbrushmodelcenter" },
    { 0x0E5, "getkeybinding" },
    { 0x0E6, "max" },
    { 0x0E7, "floor" },
    { 0x0E8, "ceil" },
    { 0x0E9, "round" },
    { 0x0EA, "exp" },
    { 0x0EB, "log" },
    { 0x0EC, "sqrt" },
    { 0x0ED, "squared" },
    { 0x0EE, "clamp" },
    { 0x0EF, "angleclamp" },
    { 0x0F0, "angleclamp180" },
    { 0x0F1, "vectorfromlinetopoint" },
    { 0x0F2, "pointonsegmentnearesttopoint" },
    { 0x0F3, "distance" },
    { 0x0F4, "distance2d" },
    { 0x0F5, "distancesquared" },
    { 0x0F6, "length" },
    { 0x0F7, "length2d" },
    { 0x0F8, "lengthsquared" },
    { 0x0F9, "length2dsquared" },
    { 0x0FA, "closer" },
    { 0x0FB, "vectordot" },
    { 0x0FC, "vectorcross" },
    { 0x0FD, "axistoangles" },
    { 0x0FE, "visionsetthermal" },
    { 0x0FF, "visionsetpain" },
    { 0x100, "_func_100" },
    { 0x101, "_func_101" },
    { 0x102, "_func_102" },
    { 0x103, "_func_103" },
    { 0x104, "incrementcounter" },
    { 0x105, "getcountertotal" },
    { 0x106, "getlevelticks" },
    { 0x107, "perlinnoise2d" },
    { 0x108, "calcrockingangles" },
    { 0x109, "reconevent" },
    { 0x10A, "reconspatialevent" },
    { 0x10B, "setsunflareposition" },
    { 0x10C, "createthreatbiasgroup" },
    { 0x10D, "threatbiasgroupexists" },
    { 0x10E, "getthreatbias" },
    { 0x10F, "setthreatbias" },
    { 0x110, "setthreatbiasagainstall" },
    { 0x111, "setignoremegroup" },
    { 0x112, "isenemyteam" },
    { 0x113, "objective_additionalentity" },
    { 0x114, "objective_state_nomessage" },
    { 0x115, "objective_string" },
    { 0x116, "objective_string_nomessage" },
    { 0x117, "objective_additionalposition" },
    { 0x118, "objective_current_nomessage" },
    { 0x119, "vectornormalize" },
    { 0x11A, "vectortoangles" },
    { 0x11B, "vectortoyaw" },
    { 0x11C, "vectorlerp" },
    { 0x11D, "anglestoup" },
    { 0x11E, "anglestoright" },
    { 0x11F, "anglestoforward" },
    { 0x120, "anglesdelta" },
    { 0x121, "combineangles" },
    { 0x122, "transformmove" },
    { 0x123, "rotatevector" },
    { 0x124, "rotatepointaroundvector" },
    { 0x125, "issubstr" },
    { 0x126, "isendstr" },
    { 0x127, "getsubstr" },
    { 0x128, "tolower" },
    { 0x129, "strtok" },
    { 0x12A, "stricmp" },
    { 0x12B, "ambientplay" },
    { 0x12C, "_func_12C" },
    { 0x12D, "_func_12D" },
    { 0x12E, "_func_12E" },
    { 0x12F, "_func_12F" },
    { 0x130, "_func_130" },
    { 0x131, "_func_131" },
    { 0x132, "_func_132" },
    { 0x133, "_func_133" },
    { 0x134, "_func_134" },
    { 0x135, "_func_135" },
    { 0x136, "_func_136" },
    { 0x137, "_func_137" },
    { 0x138, "_func_138" },
    { 0x139, "_func_139" },
    { 0x13A, "_func_13A" },
    { 0x13B, "_func_13B" },
    { 0x13C, "_func_13C" },
    { 0x13D, "_func_13D" },
    { 0x13E, "_func_13E" },
    { 0x13F, "_func_13F" },
    { 0x140, "_func_140" },
    { 0x141, "_func_141" },
    { 0x142, "_func_142" },
    { 0x143, "_func_143" },
    { 0x144, "_func_144" },
    { 0x145, "_func_145" },
    { 0x146, "_func_146" },
    { 0x147, "_func_147" },
    { 0x148, "visionsetnaked" },
    { 0x149, "visionsetnight" },
    { 0x14A, "visionsetmissilecam" },
    { 0x14B, "ambientstop" },
    { 0x14C, "precachemodel" },
    { 0x14D, "precacheshellshock" },
    { 0x14E, "precacheitem" },
    { 0x14F, "precacheshader" },
    { 0x150, "precachestring" },
    { 0x151, "precachemenu" },
    { 0x152, "precacherumble" },
    { 0x153, "precachelocationselector" },
    { 0x154, "precacheleaderboards" },
    { 0x155, "loadfx" },
    { 0x156, "playfx" },
    { 0x157, "playfxontag" },
    { 0x158, "stopfxontag" },
    { 0x159, "killfxontag" },
    { 0x15A, "playloopedfx" },
    { 0x15B, "spawnfx" },
    { 0x15C, "triggerfx" },
    { 0x15D, "playfxontagforclients" },
    { 0x15E, "_func_15E" },
    { 0x15F, "_func_15F" },
    { 0x160, "_func_160" },
    { 0x161, "_func_161" },
    { 0x162, "_func_162" },
    { 0x163, "_func_163" },
    { 0x164, "_func_164" },
    { 0x165, "_func_165" },
    { 0x166, "_func_166" },
    { 0x167, "_func_167" },
    { 0x168, "_func_168" },
    { 0x169, "_func_169" },
    { 0x16A, "_func_16A" },
    { 0x16B, "_func_16B" },
    { 0x16C, "_func_16C" },
    { 0x16D, "_func_16D" },
    { 0x16E, "_func_16E" },
    { 0x16F, "_func_16F" },
    { 0x170, "precacheheadicon" },
    { 0x171, "_func_171" },
    { 0x172, "_func_172" },
    { 0x173, "_func_173" },
    { 0x174, "_func_174" },
    { 0x175, "_func_175" },
    { 0x176, "_func_176" },
    { 0x177, "_func_177" },
    { 0x178, "_func_178" },
    { 0x179, "_func_179" },
    { 0x17A, "_func_17A" },
    { 0x17B, "_func_17B" },
    { 0x17C, "_func_17C" },
    { 0x17D, "_func_17D" },
    { 0x17E, "_func_17E" },
    { 0x17F, "_func_17F" },
    { 0x180, "_func_180" },
    { 0x181, "_func_181" },
    { 0x182, "_func_182" },
    { 0x183, "_func_183" },
    { 0x184, "physicsexplosionsphere" },
    { 0x185, "physicsexplosioncylinder" },
    { 0x186, "physicsjolt" },
    { 0x187, "physicsjitter" },
    { 0x188, "setexpfog" },
    { 0x189, "setexpfogext" },
    { 0x18A, "setexpfogdvarsonly" },
    { 0x18B, "setexpfogextdvarsonly" },
    { 0x18C, "setatmosfog" },
    { 0x18D, "setatmosfogdvarsonly" },
    { 0x18E, "isexplosivedamagemod" },
    { 0x18F, "radiusdamage" },
    { 0x190, "setplayerignoreradiusdamage" },
    { 0x191, "glassradiusdamage" },
    { 0x192, "earthquake" },
    { 0x193, "getnumparts" },
    { 0x194, "objective_onentity" },
    { 0x195, "_func_195" },
    { 0x196, "_func_196" },
    { 0x197, "_func_197" },
    { 0x198, "_func_198" },
    { 0x199, "_func_199" },
    { 0x19A, "_func_19A" },
    { 0x19B, "_func_19B" },
    { 0x19C, "_func_19C" },
    { 0x19D, "_func_19D" },
    { 0x19E, "iprintln" },
    { 0x19F, "iprintlnbold" },
    { 0x1A0, "logstring" },
    { 0x1A1, "getent" },
    { 0x1A2, "getentarray" },
    { 0x1A3, "_func_1A3" },
    { 0x1A4, "_func_1A4" },
    { 0x1A5, "spawnstruct" },
    { 0x1A6, "_func_1A6" },
    { 0x1A7, "isalive" },
    { 0x1A8, "isspawner" },
    { 0x1A9, "missile_createattractorent" },
    { 0x1AA, "missile_createattractororigin" },
    { 0x1AB, "missile_createrepulsorent" },
    { 0x1AC, "missile_createrepulsororigin" },
    { 0x1AD, "missile_deleteattractor" },
    { 0x1AE, "_func_1AE" },
    { 0x1AF, "newhudelem" },
    { 0x1B0, "newclienthudelem" },
    { 0x1B1, "_func_1B1" },
    { 0x1B2, "resettimeout" },
    { 0x1B3, "isplayer" },
    { 0x1B4, "_func_1B4" },
    { 0x1B5, "getpartname" },
    { 0x1B6, "weaponfiretime" },
    { 0x1B7, "weaponclipsize" },
    { 0x1B8, "weaponisauto" },
    { 0x1B9, "weaponissemiauto" },
    { 0x1BA, "weaponisboltaction" },
    { 0x1BB, "weaponinheritsperks" },
    { 0x1BC, "weaponburstcount" },
    { 0x1BD, "weapontype" },
    { 0x1BE, "weaponclass" },
    { 0x1BF, "getnextarraykey" },
    { 0x1C0, "sortbydistance" },
    { 0x1C1, "tablelookup" },
    { 0x1C2, "tablelookupbyrow" },
    { 0x1C3, "tablelookupistring" },
    { 0x1C4, "tablelookupistringbyrow" },
    { 0x1C5, "tablelookuprownum" },
    { 0x1C6, "tableexists" },
    { 0x1C7, "getmissileowner" },
    { 0x1C8, "magicbullet" },
    { 0x1C9, "getweaponflashtagname" },
    { 0x1CA, "averagepoint" },
    { 0x1CB, "averagenormal" },
    { 0x1CC, "vehicle_getspawnerarray" },
    { 0x1CD, "playrumbleonposition" },
    { 0x1CE, "playrumblelooponposition" },
    { 0x1CF, "stopallrumbles" },
    { 0x1D0, "soundexists" },
    { 0x1D1, "openfile" },
    { 0x1D2, "closefile" },
    { 0x1D3, "fprintln" },
    { 0x1D4, "fprintfields" },
    { 0x1D5, "freadln" },
    { 0x1D6, "fgetarg" },
    { 0x1D7, "setminimap" },
    { 0x1D8, "setthermalbodymaterial" },
    { 0x1D9, "getarraykeys" },
    { 0x1DA, "getfirstarraykey" },
    { 0x1DB, "getglass" },
    { 0x1DC, "getglassarray" },
    { 0x1DD, "getglassorigin" },
    { 0x1DE, "isglassdestroyed" },
    { 0x1DF, "destroyglass" },
    { 0x1E0, "deleteglass" },
    { 0x1E1, "getentchannelscount" },
    { 0x1E2, "getentchannelname" },
    { 0x1E3, "objective_add" },
    { 0x1E4, "objective_delete" },
    { 0x1E5, "objective_state" },
    { 0x1E6, "objective_icon" },
    { 0x1E7, "_func_1E7" },
    { 0x1E8, "objective_position" },
    { 0x1E9, "objective_current" },
    { 0x1EA, "weaponinventorytype" },
    { 0x1EB, "weaponstartammo" },
    { 0x1EC, "weaponmaxammo" },
    { 0x1ED, "weaponaltweaponname" },
    { 0x1EE, "isweaponcliponly" },
    { 0x1EF, "isweapondetonationtimed" },
    { 0x1F0, "weaponhasthermalscope" },
    { 0x1F1, "weaponhasexplosivedamage" },
    { 0x1F2, "getvehiclenode" },
    { 0x1F3, "getvehiclenodearray" },
    { 0x1F4, "getallvehiclenodes" },
    { 0x1F5, "getnumvehicles" },
    { 0x1F6, "precachevehicle" },
    { 0x1F7, "spawnvehicle" },
    { 0x1F8, "vehicle_getarray" },
    { 0x1F9, "pow" },
    { 0x1FA, "_func_1FA" },
    { 0x1FB, "_func_1FB" },
    { 0x1FC, "_func_1FC" },
    { 0x1FD, "_func_1FD" },
    { 0x1FE, "_func_1FE" },
    { 0x1FF, "_func_1FF" },
    { 0x200, "_func_200" },
    { 0x201, "_func_201" },
    { 0x202, "_func_202" },
    { 0x203, "_func_203" },
    { 0x204, "_func_204" },
    { 0x205, "_func_205" },
    { 0x206, "_func_206" },
    { 0x207, "_func_207" },
    { 0x208, "_func_208" },
    { 0x209, "_func_209" },
    { 0x20A, "_func_20A" },
    { 0x20B, "_func_20B" },
    { 0x20C, "_func_20C" },
    { 0x20D, "_func_20D" },
    { 0x20E, "_func_20E" },
    { 0x20F, "_func_20F" },
    { 0x210, "_func_210" },
    { 0x211, "_func_211" },
    { 0x212, "_func_212" },
    { 0x213, "_func_213" },
    { 0x214, "_func_214" },
    { 0x215, "_func_215" },
    { 0x216, "_func_216" },
    { 0x217, "_func_217" },
    { 0x218, "_func_218" },
    { 0x219, "_func_219" },
    { 0x21A, "_func_21A" },
    { 0x21B, "_func_21B" },
    { 0x21C, "_func_21C" },
    { 0x21D, "getlinkednodes" },
    { 0x21E, "disconnectnodepair" },
    { 0x21F, "connectnodepair" },
    { 0x220, "_func_220" },
    { 0x221, "_func_221" },
    { 0x222, "_func_222" },
    { 0x223, "_func_223" },
    { 0x224, "_func_224" },
    { 0x225, "loadtransient" },
    { 0x226, "unloadtransient" },
    { 0x227, "unloadalltransients" },
    { 0x228, "synctransients" },
    { 0x229, "istransientqueued" },
    { 0x22A, "istransientloaded" },
    { 0x22B, "loadstartpointtransient" },
    { 0x22C, "_func_22C" },
    { 0x22D, "distance2dsquared" },
    { 0x22E, "getangledelta3d" },
    { 0x22F, "_func_22F" },
    { 0x230, "trajectorycalculateinitialvelocity" },
    { 0x231, "trajectorycalculateminimumvelocity" },
    { 0x232, "trajectorycalculateexitangle" },
    { 0x233, "trajectorycomputedeltaheightattime" },
    { 0x234, "trajectorycanattemptaccuratejump" },
    { 0x235, "_func_235" },
    { 0x236, "_func_236" },
    { 0x237, "ispointinvolume" },
    { 0x238, "cinematicgettimeinmsec" },
    { 0x239, "cinematicgetframe" },
    { 0x23A, "iscinematicloaded" },
    { 0x23B, "_func_23B" },
    { 0x23C, "bbprint" },
    { 0x23D, "_func_23D" },
    { 0x23E, "getscriptablearray" },
    { 0x23F, "clearfog" },
    { 0x240, "setleveldopplerpreset" },
    { 0x241, "screenshake" },
    { 0x242, "_func_242" },
    { 0x243, "_func_243" },
    { 0x244, "_func_244" },
    { 0x245, "_func_245" },
    { 0x246, "_func_246" },
    { 0x247, "_func_247" },
    { 0x248, "_func_248" },
    { 0x249, "_func_249" },
    { 0x24A, "_func_24A" },
    { 0x24B, "_func_24B" },
    { 0x24C, "_func_24C" },
    { 0x24D, "luinotifyevent" },
    { 0x24E, "_func_24E" },
    { 0x24F, "_func_24F" },
    { 0x250, "_func_250" },
    { 0x251, "_func_251" },
    { 0x252, "physwakeup" },
    { 0x253, "ragdollwakeup" },
    { 0x254, "_func_254" },
    { 0x255, "_func_255" },
    { 0x256, "anglestoaxis" },
    { 0x257, "visionsetwater" },
    { 0x258, "sendscriptusageanalysisdata" },
    { 0x259, "resetscriptusageanalysisdata" },
    { 0x25A, "instantlylogusageanalysisdata" },
    { 0x25B, "invertangles" },
    { 0x25C, "rotatevectorinverted" },
    { 0x25D, "_func_25D" },
    { 0x25E, "_func_25E" },
    { 0x25F, "_func_25F" },
    { 0x260, "_func_260" },
    { 0x261, "_func_261" },
    { 0x262, "getcsplinecount" },
    { 0x263, "getcsplinepointcount" },
    { 0x264, "getcsplinelength" },
    { 0x265, "getcsplinepointid" },
    { 0x266, "getcsplinepointlabel" },
    { 0x267, "getcsplinepointtension" },
    { 0x268, "getcsplinepointposition" },
    { 0x269, "getcsplinepointcorridordims" },
    { 0x26A, "getcsplinepointtangent" },
    { 0x26B, "getcsplinepointdisttonextpoint" },
    { 0x26C, "calccsplinetangent" },
    { 0x26D, "calccsplinecorridor" },
    { 0x26E, "calccsplinecorridor" },
    { 0x26F, "setnojipscore" },
    { 0x270, "setnojiptime" },
    { 0x271, "_func_271" },
    { 0x272, "getpredictedentityposition" },
    { 0x273, "gamedvrprohibitrecording" },
    { 0x274, "gamedvrstartrecording" },
    { 0x275, "gamedvrstoprecording" },
    { 0x276, "gamedvrsetvideometadata" },
    { 0x277, "gamedvrprohibitscreenshots" },
    { 0x278, "_func_278" },
    { 0x279, "gamedvrsetscreenshotmetadata" },
    { 0x27A, "queuedialog" },
    { 0x27B, "speechenablegrammar" },
    { 0x27C, "speechenable" },
    { 0x27D, "livestreamingenable" },
    { 0x27E, "livestreamingsetbitrate" },
    { 0x27F, "_func_27F" },
    { 0x280, "_func_280" },
    { 0x281, "_func_281" },
    { 0x282, "_func_282" },
    { 0x283, "_func_283" },
    { 0x284, "triggerportableradarping" },
    { 0x285, "setglaregrimematerial" },
    { 0x286, "botgetteamlimit" },
    { 0x287, "spawnfxforclient" },
    { 0x288, "botgetteamdifficulty" },
    { 0x289, "getsquadassaultelo" },
    { 0x28A, "loadluifile" },
    { 0x28B, "_func_28B" },
    { 0x28C, "_func_28C" },
    { 0x28D, "_func_28D" },
    { 0x28E, "_func_28E" },
    { 0x28F, "_func_28F" },
    { 0x290, "_func_290" },
    { 0x291, "_func_291" },
    { 0x292, "_func_292" },
    { 0x293, "_func_293" },
    { 0x294, "_func_294" },
    { 0x295, "_func_295" },
    { 0x296, "_func_296" },
    { 0x297, "_func_297" },
    { 0x298, "_func_298" },
    { 0x299, "_func_299" },
    { 0x29A, "enablecontext" },
    { 0x29B, "disablecontext" },
    { 0x29C, "_func_29C" },
    { 0x29D, "_func_29D" },
    { 0x29E, "_func_29E" },
    { 0x29F, "_func_29F" },
    { 0x2A0, "_func_2A0" },
    { 0x2A1, "_func_2A1" },
    { 0x2A2, "_func_2A2" },
    { 0x2A3, "_func_2A3" },
    { 0x2A4, "_func_2A4" },
    { 0x2A5, "_func_2A5" },
    { 0x2A6, "_func_2A6" },
    { 0x2A7, "_func_2A7" },
    { 0x2A8, "_func_2A8" },
    { 0x2A9, "_func_2A9" },
    { 0x2AA, "_func_2AA" },
    { 0x2AB, "_func_2AB" },
    { 0x2AC, "_func_2AC" },
    { 0x2AD, "_func_2AD" },
    { 0x2AE, "_func_2AE" },
    { 0x2AF, "_func_2AF" },
    { 0x2B0, "_func_2B0" },
    { 0x2B1, "_func_2B1" },
    { 0x2B2, "_func_2B2" },
    { 0x2B3, "_func_2B3" },
    { 0x2B4, "_func_2B4" },
    { 0x2B5, "_func_2B5" },
    { 0x2B6, "_func_2B6" },
    { 0x2B7, "_func_2B7" },
    { 0x2B8, "_func_2B8" },
    { 0x2B9, "_func_2B9" },
    { 0x2BA, "_func_2BA" },
    { 0x2BB, "_func_2BB" },
    { 0x2BC, "_func_2BC" },
    { 0x2BD, "_func_2BD" },
    { 0x2BE, "_func_2BE" },
    { 0x2BF, "_func_2BF" },
    { 0x2C0, "challengemessage" },
    { 0x2C1, "_func_2C1" },
    { 0x2C2, "_func_2C2" },
    { 0x2C3, "_func_2C3" },
    { 0x2C4, "_func_2C4" },
    { 0x2C5, "_func_2C5" },
    { 0x2C6, "_func_2C6" },
    { 0x2C7, "_func_2C7" },
    { 0x2C8, "_func_2C8" },
    { 0x2C9, "_func_2C9" },
    { 0x2CA, "_func_2CA" },
    { 0x2CB, "_func_2CB" },
    { 0x2CC, "_func_2CC" },
    { 0x2CD, "_func_2CD" },
    { 0x2CE, "_func_2CE" },
    { 0x2CF, "_func_2CF" },
    { 0x2D0, "_func_2D0" },
    { 0x2D1, "_func_2D1" },
    { 0x2D2, "_func_2D2" },
    { 0x2D3, "_func_2D3" },
    { 0x2D4, "_func_2D4" },
    { 0x2D5, "_func_2D5" },
    { 0x2D6, "_func_2D6" },
    { 0x2D7, "_func_2D7" },
    { 0x2D8, "_func_2D8" },
    { 0x2D9, "_func_2D9" },
    { 0x2DA, "_func_2DA" },
    { 0x2DB, "_func_2DB" },
    { 0x2DC, "_func_2DC" },
    { 0x2DD, "_func_2DD" },
    { 0x2DE, "_func_2DE" },
    { 0x2DF, "_func_2DF" },
    { 0x2E0, "_func_2E0" },
    { 0x2E1, "_func_2E1" },
    { 0x2E2, "_func_2E2" },
    { 0x2E3, "_func_2E3" },
    { 0x2E4, "_func_2E4" },
    { 0x2E5, "_func_2E5" },
    { 0x2E6, "_func_2E6" },
    { 0x2E7, "_func_2E7" },
    { 0x2E8, "_func_2E8" },
    { 0x2E9, "_func_2E9" },
    { 0x2EA, "_func_2EA" },
    { 0x2EB, "_func_2EB" },
    { 0x2EC, "_func_2EC" },
    { 0x2ED, "_func_2ED" },
    { 0x2EE, "_func_2EE" },
    { 0x2EF, "_func_2EF" },
    { 0x2F0, "_func_2F0" },
    { 0x2F1, "_func_2F1" },
    { 0x2F2, "_func_2F2" },
    { 0x2F3, "_func_2F3" },
    { 0x2F4, "_func_2F4" },
    { 0x2F5, "_func_2F5" },
    { 0x2F6, "_func_2F6" },
    { 0x2F7, "_func_2F7" },
    { 0x2F8, "_func_2F8" },
    { 0x2F9, "_func_2F9" },
    { 0x2FA, "_func_2FA" },
    { 0x2FB, "_func_2FB" },
    { 0x2FC, "_func_2FC" },
    { 0x2FD, "_func_2FD" },
    { 0x2FE, "_func_2FE" },
    { 0x2FF, "_func_2FF" },
    { 0x300, "_func_300" },
    { 0x301, "_func_301" },
    { 0x302, "_func_302" },
    { 0x303, "_func_303" },
    { 0x304, "_func_304" },
    { 0x305, "_func_305" },
    { 0x306, "_func_306" },
    { 0x307, "_func_307" },
    { 0x308, "_func_308" },
    { 0x309, "_func_309" },
    { 0x30A, "_func_30A" },
    { 0x30B, "_func_30B" },
    { 0x30C, "_func_30C" },
    { 0x30D, "_func_30D" },
    { 0x30E, "_func_30E" },
    { 0x30F, "_func_30F" },
    { 0x310, "_func_310" },
    { 0x311, "_func_311" },
    { 0x312, "_func_312" },
    { 0x313, "_func_313" },
    { 0x314, "_func_314" },
    { 0x315, "_func_315" },
    { 0x316, "fast_restart" },
    { 0x317, "_func_317" },
    { 0x318, "_func_318" },
    { 0x319, "_func_319" },
    { 0x31A, "enablepg" },
    { 0x31B, "_func_31B" },
    { 0x31C, "_func_31C" },
    { 0x31D, "_func_31D" },
    { 0x31E, "_func_31E" },
    { 0x31F, "_func_31F" },
    { 0x320, "_func_320" },
}};

} // namespace xsk::gsc::h2
