Skip to content

Commit

Permalink
s4: add new hashes (#244)
Browse files Browse the repository at this point in the history
  • Loading branch information
ProjectHiNAtyu authored Jan 31, 2025
1 parent 616595f commit fc84d6c
Show file tree
Hide file tree
Showing 4 changed files with 529 additions and 6 deletions.
6 changes: 3 additions & 3 deletions include/xsk/gsc/engine/s4.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ namespace xsk::gsc::s4
{

constexpr usize code_count = 190;
constexpr usize func_count = 54;
constexpr usize meth_count = 37;
constexpr usize token_count = 4;
constexpr usize func_count = 116;
constexpr usize meth_count = 222;
constexpr usize token_count = 282;
constexpr u32 max_string_id = 0x110F3;

struct context : public gsc::context
Expand Down
62 changes: 62 additions & 0 deletions src/gsc/engine/s4_func.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,57 +12,119 @@ extern std::array<std::pair<u16, char const*>, func_count> const func_list
{{
{ 0x001, "abs" },
{ 0x005, "addbot" },
{ 0x00D, "anglestoaxis" },
{ 0x00E, "anglestoforward" },
{ 0x00F, "anglestoright" },
{ 0x010, "anglestoup" },
{ 0x01B, "bbPrint" },
{ 0x040, "clamp" },
{ 0x04B, "cos" },
{ 0x057, "distance" },
{ 0x058, "distance2d" },
{ 0x059, "distance2dsquared" },
{ 0x05A, "distancesquared" },
{ 0x05C, "earthquake" },
{ 0x067, "float" },
{ 0x068, "floor" },
{ 0x07A, "getarraykeys" },
{ 0x08F, "getdvar" },
{ 0x090, "getdvarfloat" },
{ 0x091, "getdvarint" },
{ 0x096, "getent" },
{ 0x097, "getentarray" },
{ 0x09B, "getfirstarraykey" },
{ 0x0A2, "getgroundposition" },
{ 0x0AD, "getmatchrulesdata" },
{ 0x0B1, "getnextarraykey" },
{ 0x0C9, "getscriptablearray" },
{ 0x0D3, "getstartorigin" },
{ 0x0DD, "gettime" },
{ 0x0EA, "getweaponattachments" },
{ 0x0EB, "getweaponattachmentworldmodels" },
{ 0x0EC, "getweaponbasename" },
{ 0x0F2, "getweaponmodel" },
{ 0x0FE, "int" },
{ 0x100, "iprintln" },
{ 0x101, "iprintlnbold" },
{ 0x103, "isagent" },
{ 0x105, "isai" },
{ 0x106, "isalive" },
{ 0x108, "isbot" },
{ 0x114, "isint" },
{ 0x118, "isplayer" },
{ 0x122, "issubstr" },
{ 0x126, "isusingmatchrulesdata" },
{ 0x12E, "kick" },
{ 0x132, "length" },
{ 0x13B, "loadfx" },
{ 0x145, "magicgrenademanual" },
{ 0x146, "map_restart" },
{ 0x149, "max" },
{ 0x14A, "min" },
{ 0x154, "newclienthudelem" },
{ 0x155, "newhudelem" },
{ 0x156, "newteamhudelem" },
{ 0x15A, "obituary" },
{ 0x1C7, "rotatevector" },
{ 0x191, "objective_setpingsforteam" },
{ 0x195, "physicsexplosionsphere" },
{ 0x19B, "playfx" },
{ 0x19C, "playfxontag" },
{ 0x1A1, "playrumbleonposition" },
{ 0x1A2, "playsoundatpos" },
{ 0x1AD, "precachemodel" },
{ 0x1BB, "randomfloat" },
{ 0x1BC, "randomfloatrange" },
{ 0x1BD, "randomint" },
{ 0x1BE, "randomintrange" },
{ 0x1D3, "setclientnamemode" },
{ 0x1D5, "setdvar" },
{ 0x1D6, "setdvarifuninitialized" },
{ 0x1D7, "setdynamicdvar" },
{ 0x1D8, "setgameendtime" },
{ 0x1DD, "setmapcenter" },
{ 0x1E9, "setomnvar" },
{ 0x1EF, "setsaveddvar" },
{ 0x203, "sin" },
{ 0x20A, "spawn" },
{ 0x20C, "spawnfx" },
{ 0x20E, "spawnhelicopter" },
{ 0x214, "spawnstruct" },
{ 0x215, "spawnturret" },
{ 0x21D, "stopfxontag" },
{ 0x21F, "strtok" },
{ 0x223, "tablelookupbyrow" },
{ 0x224, "tablelookupgetnumrows" },
{ 0x248, "tolower" },
{ 0x250, "triggerfx" },
{ 0x25C, "vectordot" },
{ 0x25F, "vectornormalize" },
{ 0x260, "vectortoangles" },
{ 0x267, "visionsetmissilecam" },
{ 0x268, "visionsetnaked" },
{ 0x269, "visionsetnight" },
{ 0x26A, "visionsetpain" },
{ 0x26B, "visionsetthermal" },
{ 0x26D, "weaponburstcount" },
{ 0x26E, "weaponclass" },
{ 0x270, "weaponclipsize" },
{ 0x272, "weaponfiretime" },
{ 0x277, "weaponisauto" },
{ 0x27A, "weaponissemiauto" },
{ 0x27B, "weaponmaxammo" },
{ 0x2BA, "isbotmatchmakingenabled" },
{ 0x2BB, "addmpbottoteam" },
{ 0x2C9, "physics_createcontents" },
{ 0x2DF, "isvector" },
{ 0x2E0, "isent" },
{ 0x2F1, "weaponisbeam" },
{ 0x306, "anglestoleft" },
{ 0x351, "makeweapon" },
{ 0x352, "getcompleteweaponname" },
{ 0x372, "isweapon" },
{ 0x373, "issameweapon" },
{ 0x374, "isnullweapon" },
{ 0x37D, "makeweaponfromstring" },
{ 0x424, "brmatchstarted" },
}};

Expand Down
189 changes: 186 additions & 3 deletions src/gsc/engine/s4_meth.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,45 +10,228 @@ namespace xsk::gsc::s4

extern std::array<std::pair<u16, char const*>, meth_count> const meth_list
{{
// { 0x80AD, "disableplayeruse" },
// { 0x8276, "enableplayeruse" },
{ 0x8005, "adsbuttonpressed" },
{ 0x800A, "allowads" },
{ 0x800C, "allowcrouch" },
{ 0x800E, "allowfire" },
{ 0x800F, "allowjump" },
{ 0x8010, "allowlean" },
{ 0x8011, "allowmelee" },
{ 0x8012, "allowprone" },
{ 0x8014, "allowsprint" },
{ 0x8015, "allowstand" },
{ 0x801F, "attach" },
{ 0x8022, "attackbuttonpressed" },
{ 0x805F, "cameralinkto" },
{ 0x8070, "changefontscaleovertime" },
{ 0x807F, "clearperks" },
{ 0x808E, "cloneplayer" },
{ 0x808D, "clonebrushmodeltoscriptmodel" },
{ 0x809B, "delete" },
{ 0x80AD, "hudoutlinedisableforclient" },
{ 0x809C, "destroy" },
{ 0x80A0, "detonate" },
{ 0x80A3, "disableautoreload" },
{ 0x80AC, "disableoffhandweapons" },
{ 0x80AD, "disableplayeruse" },
{ 0x80B0, "disableusability" },
{ 0x80B1, "disableweaponpickup" },
{ 0x80B2, "disableweapons" },
{ 0x80B3, "disableweaponswitch" },
{ 0x80B8, "dodamage" },
{ 0x80BF, "dontinterpolate" },
{ 0x80C3, "dropitem" },
{ 0x80D3, "enableautoreload" },
{ 0x80DF, "enableoffhandweapons" },
{ 0x80E3, "enableusability" },
{ 0x80E4, "enableweaponpickup" },
{ 0x80E5, "enableweapons" },
{ 0x80E6, "enableweaponswitch" },
{ 0x80EB, "fadeovertime" },
{ 0x80FF, "fragbuttonpressed" },
{ 0x8105, "freezecontrols" },
{ 0x8106, "freezelookcontrols" },
{ 0x8124, "getcurrentoffhand" },
{ 0x8125, "getcurrentprimaryweapon" },
{ 0x8126, "getcurrentweapon" },
{ 0x8127, "getcurrentweaponclipammo" },
{ 0x8130, "getentitynumber" },
{ 0x8132, "geteye" },
{ 0x813A, "getguid" },
{ 0x8166, "getnormalizedmovement" },
{ 0x816B, "getplayerangles" },
{ 0x816D, "getplayerdata" },
{ 0x8178, "getspectatingplayer" },
{ 0x8179, "getstance" },
{ 0x817A, "gettagangles" },
{ 0x817B, "gettagorigin" },
{ 0x817E, "tagexists" },
{ 0x818A, "getvelocity" },
{ 0x818B, "getviewkickscale" },
{ 0x818D, "getvieworigin" },
{ 0x818E, "getweaponammoclip" },
{ 0x818F, "getweaponammostock" },
{ 0x8192, "getweaponslistall" },
{ 0x8196, "getweaponslistprimaries" },
{ 0x8199, "getxuid" },
{ 0x819B, "givemaxammo" },
{ 0x819D, "giveweapon" },
{ 0x81A4, "hasweapon" },
{ 0x81A5, "hide" },
{ 0x81A9, "hidepart" },
{ 0x81B7, "iprintln" },
{ 0x81B8, "iprintlnbold" },
{ 0x81C4, "ishost" },
{ 0x81D8, "isonground" },
{ 0x81D9, "isonladder" },
{ 0x81E5, "issprinting" },
{ 0x81E7, "issprintsliding" },
{ 0x81EB, "isswitchingweapon" },
{ 0x81EC, "israisingweapon" },
{ 0x81ED, "isdroppingweapon" },
{ 0x81F0, "istouching" },
{ 0x81F8, "jumpbuttonpressed" },
{ 0x820C, "linkto" },
{ 0x8226, "makeunusable" },
{ 0x8227, "makeuseable" },
{ 0x8229, "makevehiclesolidcapsule" },
{ 0x822F, "meleebuttonpressed" },
{ 0x8233, "missile_settargetent" },
{ 0x8238, "movegravity" },
{ 0x8239, "moveovertime" },
{ 0x823C, "moveto" },
{ 0x823F, "movez" },
{ 0x824B, "notifyonplayercommand" },
{ 0x824D, "notsolid" },
{ 0x8252, "painvisionoff" },
{ 0x8253, "painvisionon" },
{ 0x8255, "physicslaunchserver" },
{ 0x825C, "player_recoilscaleoff" },
{ 0x825D, "player_recoilscaleon" },
{ 0x825E, "playerads" },
{ 0x8261, "playerhide" },
{ 0x826A, "playerlinkto" },
{ 0x826B, "playerlinktoabsolute" },
{ 0x826C, "playerlinktoblend" },
{ 0x826D, "playerlinktodelta" },
{ 0x8276, "playlocalsound" },
{ 0x8277, "playloopsound" },
{ 0x8279, "playrumbleonentity" },
{ 0x827C, "playsound" },
{ 0x827F, "playsoundtoplayer" },
{ 0x8280, "playsoundtoteam" },
{ 0x8288, "radiusdamage" },
{ 0x8291, "controlturreton" },
{ 0x8293, "remotecontrolvehicle" },
{ 0x8295, "remotecontrolvehicletarget" },
{ 0x8296, "remotecontrolvehicletargetoff" },
{ 0x82A4, "rotatepitch" },
{ 0x82A5, "rotateroll" },
{ 0x82A6, "rotateto" },
{ 0x82A8, "rotatevelocity" },
{ 0x82A9, "rotateyaw" },
{ 0x82AE, "scaleovertime" },
{ 0x82CD, "secondaryoffhandbuttonpressed" },
{ 0x82D1, "setactionslot" },
{ 0x82F1, "setcandamage" },
{ 0x82F7, "setclientomnvar" },
{ 0x8306, "setcursorhint" },
{ 0x830A, "setdefaultdroppitch" },
{ 0x8313, "setentityowner" },
{ 0x832C, "sethintstring" },
{ 0x832D, "sethoverparams" },
{ 0x8344, "setlookat" },
{ 0x8345, "setlookatent" },
{ 0x8346, "setlookatentity" },
{ 0x8347, "setlookatstateoverride" },
{ 0x834B, "setmaxpitchroll" },
{ 0x834C, "setmissileminimapvisible" },
{ 0x8350, "setmode" },
{ 0x8351, "setmodel" },
{ 0x8354, "setmovespeedscale" },
{ 0x8357, "setneargoalnotifydist" },
{ 0x8358, "setnodeploy" },
{ 0x835F, "setorigin" },
{ 0x8360, "setotherent" },
{ 0x8363, "setplayerangles" },
{ 0x836E, "setpulsefx" },
{ 0x8374, "setscriptablepartstate" },
{ 0x8377, "setsentryowner" },
{ 0x8379, "setshader" },
{ 0x837D, "setspawnweapon" },
{ 0x8383, "setstance" },
{ 0x838F, "settext" },
{ 0x8396, "setturningability" },
{ 0x83A4, "setvehgoalpos" },
{ 0x83A8, "setvelocity" },
{ 0x83AA, "setviewkickscale" },
{ 0x83B6, "setweaponammoclip" },
{ 0x83B7, "setweaponammostock" },
{ 0x83BB, "setyawspeed" },
{ 0x83C4, "show" },
{ 0x83C9, "showpart" },
{ 0x83CB, "showtoplayer" },
{ 0x83CF, "solid" },
{ 0x83D0, "spawn" },
{ 0x83E5, "startragdoll" },
{ 0x83F0, "stoplookat" },
{ 0x83F1, "stoploopsound" },
{ 0x83FE, "suicide" },
{ 0x8400, "switchtoweapon" },
{ 0x8401, "switchtoweaponimmediate" },
{ 0x8402, "takeallweapons" },
{ 0x8403, "takeweapon" },
{ 0x8416, "unlink" },
{ 0x841E, "useanimtree" },
{ 0x841F, "usebuttonpressed" },
{ 0x8428, "usinggamepad" },
{ 0x8437, "vehicle_setspeed" },
{ 0x844F, "visionsetmissilecamforplayer" },
{ 0x8450, "visionsetnakedforplayer" },
{ 0x8457, "visionsetthermalforplayer" },
{ 0x8467, "allowdodge" },
{ 0x8477, "allowdoublejump" },
{ 0x8478, "allowmovement" },
{ 0x8479, "allowwallrun" },
{ 0x847A, "allowslide" },
{ 0x847C, "hidefromplayer" },
{ 0x8489, "disableoffhandsecondaryweapons" },
{ 0x848A, "enableoffhandsecondaryweapons" },
{ 0x848B, "sprintbuttonpressed" },
{ 0x8499, "playershow" },
{ 0x849B, "launchgrenade" },
{ 0x84A0, "earthquakeforplayer" },
{ 0x84A7, "setcamerathirdperson" },
{ 0x84A9, "setplayermusicstate" },
{ 0x84B1, "allowreload" },
{ 0x84B2, "allowmounttop" },
{ 0x84B3, "allowmountside" },
{ 0x84B4, "allowmantle" },
{ 0x84C7, "sethudtutorialmessage" },
{ 0x84C8, "clearhudtutorialmessage" },
{ 0x84CF, "setuserange" },
{ 0x84D0, "setuseholdduration" },
{ 0x84D5, "setusefov" },
{ 0x84D6, "sethintdisplayfov" },
{ 0x84F1, "enablecollisionnotifies" },
{ 0x8519, "loadweaponsforplayer" },
{ 0x8569, "cancelreload" },
{ 0x8571, "getheldoffhand" },
{ 0x8579, "enableplayerbreathsystem" },
{ 0x8580, "sethintrequiresholding" },
{ 0x85A4, "setasgametypeobjective" },
{ 0x85A6, "enablemissilehint" },
{ 0x85A7, "disableoffhandprimaryweapons" },
{ 0x85A8, "enableoffhandprimaryweapons" },
{ 0x85BC, "visionsetkillstreakforplayer" },
{ 0x8627, "getaltweapon" },
{ 0x863B, "stancebuttonpressed" },
{ 0x8641, "reportchallengeuserevent" },
{ 0x8665, "clearaccessory" },
{ 0x8696, "cameradefault" },
{ 0x86B6, "isskydiving" },
{ 0x8733, "disableoffhandthrowback" },
{ 0x8752, "reloadbuttonpressed" },
{ 0x8734, "enableoffhandthrowback" },
}};

} // namespace xsk::gsc::s4
Loading

0 comments on commit fc84d6c

Please sign in to comment.