Working with and testing, extending new WebView32 and new Steam Addon

0 favourites
  • 3 posts
From the Asset Store
Data+ is the best Data Management solution for Construct 3. It contains 4 Addons (Plugin & Behavior).
  • Just getting a feel for the new Webview2 and C3 C++ 'SDK' from the steam addon github repo, I added a new set of ACEs for getting a user stat (action, trigger, expression), the JS is relatively straightforward, passing messages to the plugin extension.dll which in turns call steam dll, then on result / callback send message back.

    The JS functions handle async requests. This was just extending and building the plug-in and c++ extension with some new source. The only build gotcha I had was to make sure all the dll and header files for the Steam SDK are from the same source (I replaced the ones that were checked in to make sure they were all consistent with SDK 1.57 which I downloaded.) In terms of passing messages and values back and forth, do need to be aware of potential type mismatches between JS support and C++ support (see the 64-bit userId).

    I was doing basically copy and paste to add in the messaging and C++ steam calls in the extstension and recompile to add in the functionality.

    This was just a test of changing the existing example, will not release it. I am hoping that Ashley creates a companion plug-in template that is clean, so can start adding some classes of companion addon steam functions. If not will take a look at making a companion template using the webview32 steam addon as a start. Very thankful that Ashley released the source for this.

    I am not sure about the future of webview2, but this implementation for Steam with webview2 looks like a promising start. The overlay didn't really work that well in terms of appearance for me (compared to nw.js / electron, I know Ashley has been investigating that).

    Ashley - do you expect to create a template for a companion app, or should we roll our own (I am not in a rush.)

    Finally another big thanks to Ashley for making this available for us to work with and build from.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Thanks for the feedback! Sounds like it's working out OK so far.

    Ashley - do you expect to create a template for a companion app, or should we roll our own (I am not in a rush.)

    I thought about making a separate SDK, but I think it only needs a small modification from the stock wrapper extension in the addon SDK. There's some instructions here on how to do it, which basically amounts to creating a new wrapper extension and adding the Steam-specific include stuff from framework.h. It's true I haven't fully tried this yet, but I think that's all it will take - if it seems harder let me know and I'll see what it takes to get it working (and make a separate companion SDK if necessary).

  • Ok, sounds good Ashley, I will take a look.

    A general comment on the ACE mechanisms and response handshake behavior, I'm going to look at creating a more generic response for success/error, do it does not need to be done for every action (adding a success/error condition for each action gets tedious from my greengrinds experience of extending greenworks), so I am thinking of having one success/error condition per addon with perhaps a drop down for which ACE it is and an optional parameter (so an "On <action-combo-drop-down> <parameter> success" condition).

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)