fedca's Recent Forum Activity

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • new SDK.PluginProperty("object", "Target", "value", {"interpolatable":false, "allowedPluginIds" : ["sprite"]}),

    I did a quick test and with this I can see the property but add any type of plugin, so to me it seems like it's broken. (or I am using it wrong?)

    I guess we need to report is as a bug

  • You can change the z-elevation via js as a workaround for now.

    runtime.objects.DrawingCanvas.getFirstInstance().zElevation = z;

    I just wrote a bug report for the drawing objects with missing z-elevation (something similar came up just a day or two ago with the Video object on the Community Discord)

  • Automatically following the addon when you download it would notify when an addon was updated that they are using. Often people use an old version for a long time as pressing the follow button is easily missed.

    This would be in line with how you auto follow threads if you interact with them.

    Tagged:

  • Yes, doing a pick by evalue doing all the checks in condition using operators (Object.var=? | Object.var2=? | Object.var3=?| Object.var4=?)can be faster as the loop through the instances is only done once.

    But it only matters in extreme cases and can hurt readability imo.

    But yes I have used this optimization in my projects!

  • New Effect: Directional Blur

    https://www.construct.net/en/make-games/addons/1149/directional-blur

    Allows you to set the blur angle and tweak the blurs strength and quality (supports webGL and webGPU as always)

    Additionally I ported the RGBA Channel Separation shader to webGPU and also was able to improve performance of the webGL variant.

    https://www.construct.net/en/make-games/addons/1127/rgba-channel-separation-webgpu Original Effect was created by Oppenheimer and Ludonaut.

    Also I updated the following shaders to improve performance and fix some minor stuff:

    • Box Blur Horizontal/vertical
    • Kawase Blur
    • Add Color
    • Tint Blend
  • Thank you Ashley, while other algorithms are interesting this is probably the most pragmatic solution. I hope we get access to the collision cells via scripting and addon sdk too at some point!

    Btw the dropbox link doesn't work for me and I remember other people having the same issue with dropbox links on the forum recently.

  • if the hierarchy children have width height checked, mirroring the parent should work with the children

  • A problem with making built-in quadtrees is Construct's collision engine needs to extend over an unlimited area (e.g. still handling activity outside the layout area, or with unbounded scrolling). Collision cells can do that with sparse cells. I'm not sure quadtrees can handle that.

    Isn't this the main benefit of a tree structure, that sparse areas can just be one large node/cell and it only sub-divides where many instances are?

  • const ALPHAEX_SHIFT = 1024;
    const ALPHAEX_MAX = 1023;
    const RGBEX_SHIFT = 16384;
    const RGBEX_MAX = 8191;
    const RGBEX_MIN = -8192;
    
    C3.GetRValue = function GetRValue(rgb) {
     if (rgb >= 0)
     return (rgb & 255) / 255;
     else {
     let v = Math.floor(-rgb / (RGBEX_SHIFT * RGBEX_SHIFT * ALPHAEX_SHIFT));
     if (v > RGBEX_MAX)
     v -= RGBEX_SHIFT;
     return v / 1024
     }
    }
    ;
    C3.GetGValue = function GetGValue(rgb) {
     if (rgb >= 0)
     return ((rgb & 65280) >> 8) / 255;
     else {
     let v = Math.floor(-rgb % (RGBEX_SHIFT * RGBEX_SHIFT * ALPHAEX_SHIFT) / (RGBEX_SHIFT * ALPHAEX_SHIFT));
     if (v > RGBEX_MAX)
     v -= RGBEX_SHIFT;
     return v / 1024
     }
    }
    ;
    C3.GetBValue = function GetBValue(rgb) {
     if (rgb >= 0)
     return ((rgb & 16711680) >> 16) / 255;
     else {
     let v = Math.floor(-rgb % (RGBEX_SHIFT * ALPHAEX_SHIFT) / ALPHAEX_SHIFT);
     if (v > RGBEX_MAX)
     v -= RGBEX_SHIFT;
     return v / 1024
     }
    }
    ;
    C3.GetAValue = function GetAValue(rgb) {
     if (isNegativeZero(rgb))
     return 0;
     else if (rgb >= 0)
     return 1;
     else {
     const v = Math.floor(-rgb % ALPHAEX_SHIFT);
     return v / ALPHAEX_MAX
     }
    }
    
  • yea you are right, it seems to give incorrect results. Let me check c3 source to see how they generate it

  • Converting a colorValue back to RGB 255:

    R = int((-colorValue / 2^38) % 1025 * 255 / 1023)

    G = int((-colorValue / 2^24) % 1025 * 255 / 1023)

    B = int((-colorValue / 2^10) % 1025 * 255 / 1023)

    A = int((-colorValue) % 1025 * 255 / 1023)

fedca's avatar

fedca

Online Now

Member since 6 Jul, 2017
Last online 20 Nov, 2024

Twitter
fedca has 65 followers

Trophy Case

  • 7-Year Club
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Popular Game One of your games has over 1,000 players
  • Famous Game One of your games has over 10,000 players
  • Viral Game One of your games has over 100,000 players
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • x221
    Quick Draw First 5 people to up-vote a new Construct 3 release
  • x32
    Lightning Draw First person to up-vote a new Construct 3 release
  • x28
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

22/44
How to earn trophies