skymen's Forum Posts

  • Nevermind, run this function and it should work

    function isRunningOnSteamDeck() {
     try {
     let os = require("os");
     let info = `${os.type()} ${os.release()} ${os.platform()}`.toLowerCase();
     let list = ["valve", "steam"];
     return info.includes("linux") && list.some(x => info.includes(x));
     } catch (e) {
     return false;
     }
    }
    
    console.log(`Is running on SteamDeck? ${isRunningOnSteamDeck()? "Yes" : "No"}`);
    
  • Hey,

    Greenworks doesn't support that method. It was added in SDK v 1.52 and greenworks support stopped at 1.42.

    The best solution would be to write a new Steam addon using steamworks.js (or implement that directly)

    github.com/ceifa/steamworks.js

  • I've talked about this subject in the past and made a feature request in a past suggestion page.

    I also looked into it and tried to hack it into the engine, but from what I've seen it's pretty hard if not impossible to do with the way C3's rendering is done at the moment.

    I agree it would be really useful if this became a thing.

    Mikal and I both experimented with making pixel shaders that can repixelify a layer with linear sampling. That might be worth a try.

  • As I stated in the github report, I really think UIDs hold C3 back in many ways. I understand moving everything to UUIDs can be a big change, especially for backwards compatibility, but the alternative is trying to do a band aid fix that will not work.

    I full agree with Tokinsom here, UID shuffling makes C3 unusable with source control nowadays, which is a huge issue.

    For backwards compatibility, UIDs can stay, and UID shuffling can also be kept for a while, but instances should start getting referenced using UUIDs or SIDs (like object types and other editor elements), especially internally.

  • You do not have permission to view this post

  • That code uses undocumented internals of the runtime. Do not do that! It can and will break at any time and we will not provide any support either.

    Oh yeah for sure forgot to specify. I just assumed that was a given, forgot we were in a big thread with many people that check in while not necessarily being aware of that.

  • While I agree with the fact that it should probably be added as an action, if you need this for any reason, know that it's fairly easy to do in JS.

    let templatePerObjectClassMap = c3_runtimeInterface._localRuntime._templateManager._templateDataMap;
    for (let templatePerObjectClass of templatePerObjectClassMap.entries()) {
     let typeIndex = templatePerObjectClass[0];
     let objectClass = c3_runtimeInterface._localRuntime._allObjectClasses[typeIndex];
     let templateMap = templatePerObjectClass[1];
     for (let template of templateMap.entries()) {
     let name = template[0];
     let data = template[1];
     }
    }
    

    if you know the object you wanna check (which you most likely do) you can get its object class using

    	let myObjectClass = c3_runtimeInterface._localRuntime.GetInstanceByUID(uid)._objectType
    

    you can now check if the template name exists by doing something like

    function templateNameExists (objectClass, name) {
     let templatePerObjectClassMap = c3_runtimeInterface._localRuntime._templateManager._templateDataMap;
     return templatePerObjectClassMap.has(objectClass.GetIndex()) && templatePerObjectClassMap.get(objectClass.GetIndex()).has(name)
    }
    
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You could use both effects. The first one to force the render to be limited to a specific amount of colors and the second one to replace said colors with whatever you want.

  • Yes, as I thought, the plugins have not been ported in a while. You can try contacting the author.

    One thing you can do in the meantime is disable worker mode in the project settings. These plugins should work fine if the game doesn't run inside a worker.

  • Hi, can you show the error?

    If the screen goes black, it might be because the addon was not updated to support modules, or to support worker mode.

    For Firebase plugins, there are new ones that were made and are still actively maintained by other members of the community, so I recommend you check them out

  • Reuploaded chrisbrob's effect for C2

    mega.nz/folder/E1910ACD

  • There's an ancient example in the tuts section, and I believe skymen was working on something using mesh which would be fun to try.

    If you mean to talk about the thing I shared on discord, it's basically a system that I ripped off Salman's Top down template: github.com/SalmanShhh/Public-Construct-PatreonRewards/releases/tag/2

    And then I slapped meshes in there cause the one thing I didn't like about his camera system was that every zone was a square

  • I'm having the same exact issue

  • Initially made for a single effect (see this forum thread: https://www.construct.net/en/forum/construct-3/general-discussion-7/color-replace-effect-generator-158822), I ended up adding a second addon on my website:

    https://construct-addon-generator.surge.sh