Output Info alternative based off stripper dumps
Go to file
2019-07-15 20:58:43 -06:00
plugins Update binaries 2019-07-15 20:58:43 -06:00
scripting v1.8 update remove stripper_dump dependancy mostly 2019-07-15 20:52:42 -06:00
.gitattributes Initial commit 2019-07-07 11:10:23 -06:00
README.md Update ReadMe 2019-07-15 20:57:15 -06:00

Stripper Dump Parser

Stripper Dump Parser is a mostly extension free alternative to slidybat's OutputInfo extension. Stripper Dump Parser processes dump files into single like keyvalues containing information relevant to the entities outputs. From there it's processed and cached into enum struct objects that can be accessed through natives and stocks. As part of being an alternative to OutputInfo, all of the natives provided by the extension are available as stocks.

Requirements

  • Sourcemod 1.10 for enum struct support

ConVars

  • sm_dump_parser_enabled - If 0 disables the plugin entirely. Stopping it from creating dumps and caching data.
  • sm_dump_parser_nocache - If 0 only parses dump files, does not cache values.

Enum Structs

  • Output - Contains the Output, Target, Input, Parameters, Delay, and Once as members.
  • Entity - Contains the Hammer ID, Wait value, Classname, and an ArrayList of it's Outputs.

Stocks/Natives

  • bool GetDumpEntity(int index, Entity ent) - Retrieves a copy of the 'Entity' enum struct for the given index.
  • bool GetDumpEntity2(int hammerid, Entity ent) - Retrieves a copy of the 'Entity' enum struct for the given hammer id.
  • bool IsDumpReady() - Returns whether or not it's safe to call any stocks/natives

Forwards

  • void OnDumpFileReady() - Fired when either JSON Dump file is found or is fully parsed.
  • void OnDumpFileProcessed() - Fired when everything is processed and it's safe to call natives.

Limitations

  • Cannot retrieve outputs from an entity that are given at run time.
  • Calling the OutputInfo stocks are probably slow and not recommended

ToDo

  • Possibly add better late loading support without stripper_dump functionality.
  • Handle more data internally instead of relying on reading and writing to files.