Ashley's Forum Posts

  • Good ideas, it's a fair point - there are some APIs that can take a wide range of IDs and there's no way for third-party developers to find them. Filed a todo issue here.

    Right now we're aiming for a stable release soon and we don't normally make code changes for them if possible, so this would probably come at the next beta release after that.

  • Is it a single-global plugin? For architectural reasons it's extremely complicated to support debugging looping conditions in any other kind of object.

  • This is caused by broken third-party addons. You'll need to report it to the addon developer.

  • Exactly that - as I keep saying, please direct your attention to Nintendo. We'd have done it already if they allowed us.

  • This isn't anything to do with Construct. The plugin only makes requests when you use actions, so the amount the service is used is determined entirely by your own events. I think the most likely cause is an action that accidentally runs every tick, e.g. "State = finished, update achievements" will make an "update achievements" request 60 times a second while that condition is true, essentially DoS attacking the service, so then they will block you. Check your events for that; otherwise you should probably contact Microsoft about it.

  • The structure of the whole C3 runtime is fundamentally different and I think there are too many differences to try to list in full. For example just the fact not everything is in one file any more means you have to refactor code that uses a shared scope. The approach we took to porting our own addons was to take the SDK template and rewrite the addon from there. The new structure is a lot better organised so often you can make structural improvements as you go too.

    The new C3 runtime is designed to be 100% compatible with the C2 runtime, so all the same capabilities are there, it just might be renamed or moved somewhere else. For example where you might have previously done glw.quadTex() to draw something, now it's renderer.Quad3() - it does the same thing but the names and parameters are different. Also, it's exactly the same API as the editor uses, so now you can have drawing code that works the same in both the editor and runtime!

  • I've added some basic APIs for the Tilemap plugin: https://www.construct.net/make-games/manuals/addon-sdk/runtime-reference/addon-interfaces/tilemap

    Note they're documented but won't all work until the next release.

  • I've updated the download links in the original post again, to update the NW.js version to 0.33.3 which fixes an issue with gamepad input not working.

  • It also works in the C3 runtime. Did you try it?

  • Why not check the manual?

  • I'll take a look at that soon.

  • I'm not sure exactly what's going on with the origin there so it will probably take some investigation. I'd suggest filing a bug with a demo addon so I can figure out the sequence of calls and if any APIs need to be changed.

  • Well, you can use ReplaceBlobAndDecode(), and just pass the blob of an empty image at a certain size. You could make it from a canvas element.

  • 2) I just realised there's a bug where these methods aren't minified correctly. It should be fixed in the next release (after r118).

    3) Every animation frame has its own origin, and the object itself separately has an origin. Sprites copy the animation frame origin to the object origin. It sounds like we need to make sure this happens when calling the SDK methods.

    4) I'm not really clear what you're trying to do? The SDK currently does not support removing animation frames, but why do you need to do that? Shouldn't you just add the correct sequence of frames?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
    1. It looks like families aren't supported yet, probably an oversight
    2. It looks like you're trying to call that method on an event group, or the root node of the event sheet, or some other class that doesn't actually support adding conditions and actions. Make sure it's really an EventBlock (i.e. something returned by AddEventBlock())
    3. The documentation does not say the promise resolves with anything. Why are you expecting a return value from 'await'?
    4. For an empty frame at a specific size, see the documentation: pass a null blob but provide a size.
    5. Looks like an oversight
    6. Those definitely need to be fixed but I can't tell why they're happening. I would guess you are trying to use an animation frame before waiting for a promise that loads content in to it to resolve. You must not use them before any promises affecting them resolve.
    7. Use ReadBlob
    8. Yes, AddOrReplaceProjectFile() takes a "sound" or "music" kind.

    For new SDK features, please collect a complete list of everything you need then post an issue to GitHub listing them all.