skymen's Forum Posts

  • Sure, I'll try to make something real quick

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I am using the unicode emoji.

    Well, the emoji appears, it's just using the default system emoji set instead of my font.

    And wrapping the emoji unicode with font tags seems to make the emoji disappear :/

    EDIT: Note that I want to use emojis in Texts as well, not only textboxes

  • Hey,

    Emojis, as you might know, are a pain to deal with on the web. Everyone and their grandma has made a custom emoji set, and has made their own format for emoji fonts.

    (source: css-tricks.com/it-all-started-with-emoji-color-typography-on-the-web/)

    However things are starting to get better with things like EmojiOne, and Twemoji that are starting to give ways to use color fonts on every browser and have consistant emojis across all of them. This is great.

    However I can't seem to figure out how to get C3 to use my emoji font.

    Using a font bbcode tag doesn't work

    Including it using CSS doesn't seem to work either (I guess because it can't fetch the font file from the blob URL).

    Anyone has any idea if this is possible?

  • Sure that should be possible, but I still think that this should not be the default. Most people will want typewriter with fixed typing speed, not fixed duration no matter the length of the string.

  • Hey, I made Spritefont deluxe that fixes that issue.

    Unless you decide to write a parser that parses the tags, remove them, typewrites and adds them back, I'm not aware of a method that fixes it using events only.

    Here is a preview of what spritefont deluxe for C3 does (it's a behavior that gets added on top of the default spritefont plugin)

    twitter.com/skymen75/status/1135240840589320192

  • Yeah I have notified valerypopoff about this already.

    I don't know what he's going to do, but he'll have to deprecate the action, and replace it with a new one.

    But essentially, after June, the plugin will just start to fail loading and the project that use it will fail to open.

  • Does it apply to c2runtime only plugins? Or is the c2runtime to be deleted in the future too?

  • Can't you push 265 as a new update (268) for the time being? Until the issues are resolved at least

  • Yep exactly.

    I agree with you. It'd be amazing to have everything on the scirra forums so we don't have to put stuff on other websites.

  • Alright, I dropped a few requests on the ideas platform.

    Still, it would be nice to have someone on the team dedicated to adding features to the SDK and documenting them at one point in the future.

  • Nice! Eren If you contact me via Discord or Patreon I can give you write access to the google sheets so you can add your plugins easily instead of just asking for modification.

  • I get that, but then it would be nice to either have documentation about the functions that allow us to do that.

    I know SetLayer isn't meant to be used on its own, I read through the commonAces file and reused that code.

    But then if I can't use it, how can I move an object accross layers?

    Do I need to create a SOL containing my one object instance and then call Action on that object type and SOL so it reuses the CommonACE file code? This is an issue I came accross when porting my skins addon which adds and syncs a skin on top of a sprite.

    But to do so, how can I create a SOL?

    For this simple case there are some issues. Not only the doc lacks content, but it also has false info in it. Like GetImagePoint(nameOrIndex) that states that it returns two values between 0 and 1, which it doesn't.

    Also when porting C2 addons that used undocumented features we can't really do anything but use those same features. The addon usually wouldn't use undocumented features if it didn't have to, and when porting it, we can either use them, or not port it at all.

    That's only accounting for the fact that the addon used undocumented features. But in the case of some plugins (like Spritefont+ and my Spritefont Deluxe) we can't even use what was documented in C2, like adding 3rd party files as a default texture.

  • Hi all.

    A few days ago, I made a website that referenced C2 plugins and wether they had been ported yet or not.

    wasthataddonported.surge.sh

    At the moment, the website has all of rex's addon referenced.

    If you know of any ported plugin from C2, or plugins that weren't ported or fully ported, please add them to the database using this link:

    docs.google.com/spreadsheets/d/1oxbmtXqXcW64IAU_4noZchLMxVrPeA4jD_rqTw35H2w/edit

  • Usually most of the undocumented runtime functions that you used still exist but are either named in PascalCase or have an additionnal underscore before them.

    For exemple this.inst.GetWorldInfo()._SetLayer()

    If a plugin has a huge class that does all of the heavy work (like rex's addons sometimes do) you can just copy paste the whole thing in plugin.js or behavior.js at the very top and expect it to work fine.

    If said class uses functions from C2 runtime, just replace them but it should be easy.

    In C3 runtime the "this" you're controlling is not an inst class but an sdkInst. So if you want to call a function from another plugin (like sprite) you must do

    SpriteObjectInst._sdkInst.CallAction()

    This will also let you access any property defined there, like current animation, and any defined helper function.

    The easiest way to know what you can access is by using console.log on "this"

    It will print every property, and list all of the functions you have in the last property named "__proto__". Each function will be named, and will list the needed arguments.

    The minification scirra used for the runtime files is pretty basic. They just replaced every function and var names with a single letter. All the runtime function names and Exps, Acts, and Cnds names can't br altered though so they haven't been changed.

    It's a way different story for the editor sdk though.

    However, I'm pretty sure that since the editor is also JS you can console.log your way through everything as well.

    I think you can get every file C3 has if you managed to host C3 on a local server. I haven't done that myself, but I know it is possible, and will let you access the addon's editor code and commonAces files.

  • You should contact the support at supportaxu@construct.net and try to settle this with them