Raised This Month: $121 Target: $400
 30% 

[Any] Level KeyValues (2018-11-11)


Post New Thread Reply   
 
Thread Tools Display Modes
Author
nosoop
Senior Member
Join Date: Aug 2014
Plugin ID:
6336
Plugin Version:
0.3.0
Plugin Category:
Technical/Development
Plugin Game:
Any
Plugin Dependencies:
    Servers with this Plugin:
     
    Plugin Description:
    Provides a nicer API for manipulating the level entity string.
    Old 11-11-2018 , 10:54   [Any] Level KeyValues (2018-11-11)
    Reply With Quote #1

    Description:
    Basically a programmable Stripper:Source for plugin developers.

    Parses out the level string provided in SDKHooks' OnLevelInit forward into individual sets of entity properties and provides forwards for other plugins to easily read / add / remove / modify said properties.

    A few examples are available here.

    Things the plugin will clobber:
    Seemingly doesn't play nice with Stripper:Source, as it and SDKHooks both cache their own level entity string.
    I don't know if other Source Engine games use a different format for their entity strings; this was only tested against TF2. I assume it can support any game that also supports Stripper:Source (or Hammer by extension, I guess).

    This is very much beta, not-rigorously tested software that I was commissioned to write and allowed to release publicly.

    Expect breaking API changes, as I'm still not quite happy with how it's designed. Mostly thinking about abstracting away the StringMultiMap dependency so client plugins don't need to depend on the backing implementation. I've decided to keep it tied to StringMultiMaps for the sake of development simplicity; no need to keep native functions in sync against the development of More ADTs.

    If you're brave enough to try it, please report any bugs you come across.

    Dependencies:
    Requires More ADTs, a custom extension that exposes an additional collection handle type to SourceMod. The extension provides StringMultiMap handles, which are pretty much StringMap handles that allow duplicate keys (which are necessary to support entity outputs). The extension hasn't been rigorously tested either (basically purpose-built for this plugin) and I'm a C++ scrub, so check a look at that as well and let me know of any major errors.

    Download / Source (Level KeyValues)
    Download / Source (More ADTs)

    ----

    Additionally, I've written up a drop-in replacement for Stripper:Source that uses this library. Or at least tried to; not sure if every config works 100% the way that it should (the issue should mostly be with ones that aren't well-formed).

    Download / Source (Level KeyValues: Stripper)
    __________________
    I do TF2, TF2 servers, and TF2 plugins.
    AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH)

    Last edited by nosoop; 11-15-2018 at 09:32.
    nosoop is offline
    _GamerX
    AlliedModders Donor
    Join Date: Jun 2011
    Location: Fun Server
    Old 11-11-2018 , 16:41   Re: [Any] Level KeyValues (2018-11-11)
    Reply With Quote #2

    Awesome
    __________________
    _GamerX is offline
    Send a message via ICQ to _GamerX Send a message via Skype™ to _GamerX
    Reply


    Thread Tools
    Display Modes

    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 12:33.


    Powered by vBulletin®
    Copyright ©2000 - 2018, vBulletin Solutions, Inc.
    Theme made by Freecode